Azure App Service의 컨테이너에 대한 SSH 세션 열기
SSH(Secure Shell)를 사용하여 컨테이너에 원격으로 관리 명령을 실행할 수 있습니다. App Service는 컨테이너에 호스트된 앱에 직접 SSH 지원을 제공합니다.
브라우저에서 SSH 세션 열기
컨테이너와 직접 SSH 세션을 열려면 앱을 실행해야 합니다.
브라우저에 다음 URL을 붙여넣고 <app-name>
을 앱 이름으로 바꿉니다.
https://<app-name>.scm.azurewebsites.net/webssh/host
아직 인증을 받지 못한 경우 연결하기 위해서는 Azure 구독에서 인증을 받아야 합니다. 인증되면 컨테이너 내부에서 명령을 실행할 수 있는 브라우저 내부 셸을 확인합니다.
SSH 및 SFTP를 사용하여 로컬 개발 컴퓨터에서 직접 컨테이너에 연결할 수도 있습니다.
브라우저에서 SSH 세션 열기
컨테이너와 직접 SSH 세션을 열려면 앱을 실행해야 합니다.
브라우저에 다음 URL을 붙여넣고 <app-name>
을 앱 이름으로 바꿉니다.
https://<app-name>.scm.azurewebsites.net/webssh/host
아직 인증을 받지 못한 경우 연결하기 위해서는 Azure 구독에서 인증을 받아야 합니다. 인증되면 컨테이너 내부에서 명령을 실행할 수 있는 브라우저 내부 셸을 확인합니다.
사용자 지정 Docker 이미지를 사용한 SSH 지원 사용
사용자 지정 컨테이너에서 SSH 구성을 참조하세요.
원격 셸에서 SSH 세션 열기
참고 항목
이 기능은 현재 미리 보기로 제공됩니다.
TCP 터널링을 사용하여 인증된 WebSocket 연결을 통해 개발 컴퓨터와 Web App for Containers 간의 네트워크 연결을 만들 수 있습니다. 선택한 클라이언트의 App Service에서 실행 중인 컨테이너를 사용하여 SSH 세션을 열 수 있습니다.
시작하려면 Azure CLI를 설치해야 합니다. Azure CLI를 설치하지 않고 작동 방식을 확인하려면 Azure Cloud Shell을 엽니다.
az webapp create-remote-connection 명령을 사용하여 앱에 원격 연결을 엽니다. 앱에 <구독 이름>, <그룹 이름> 및 <앱 이름>을 지정합니다.
az webapp create-remote-connection --subscription <subscription-id> --resource-group <resource-group-name> -n <app-name> &
팁
명령의 끝에 &
은 Cloud Shell을 사용하는 경우 단지 편의를 위해 제공됩니다. 동일한 셸에서 다음 명령을 실행할 수 있도록 백그라운드에서 프로세스를 실행합니다.
참고 항목
이 명령이 실패할 경우 다음 명령으로 원격 디버깅을 ‘사용하지 않도록 설정’해야 합니다.
az webapp config set --resource-group <resource-group-name> -n <app-name> --remote-debugging-enabled=false
명령 출력은 SSH 세션을 여는 데 필요한 정보를 제공합니다.
Port 21382 is open
SSH is available { username: root, password: Docker! }
Start your favorite client and connect to port 21382
로컬 포트를 사용하여 사용자가 선택한 클라이언트를 통해 컨테이너가 있는 SSH 세션을 엽니다. 다음 예제에서는 기본 ssh 명령을 사용합니다.
ssh root@127.0.0.1 -p <port>
메시지가 표시되면 yes
을 입력하여 연결을 계속합니다. 그러면 암호를 입력하라는 메시지가 나타납니다. 앞부분에 표시된 Docker!
을 사용합니다.
Warning: Permanently added '[127.0.0.1]:21382' (ECDSA) to the list of known hosts. root@127.0.0.1's password:
인증되면 세션 시작 화면이 표시되어야 합니다.
_____ / _ \ __________ _________ ____ / /_\ \___ / | \_ __ \_/ __ \ / | \/ /| | /| | \/\ ___/ \____|__ /_____ \____/ |__| \___ > \/ \/ \/ A P P S E R V I C E O N L I N U X 0e690efa93e2:~#
이제 커넥터에 연결되어 있습니다.
top 명령을 다시 실행합니다. 프로세스 목록에서 앱의 프로세스를 확인할 수 있어야 합니다. 아래 예제 출력에서는 PID 263
이 있는 출력입니다.
Mem: 1578756K used, 127032K free, 8744K shrd, 201592K buff, 341348K cached CPU: 3% usr 3% sys 0% nic 92% idle 0% io 0% irq 0% sirq Load average: 0.07 0.04 0.08 4/765 45738 PID PPID USER STAT VSZ %VSZ CPU %CPU COMMAND 1 0 root S 1528 0% 0 0% /sbin/init 235 1 root S 632m 38% 0 0% PM2 v2.10.3: God Daemon (/root/.pm2) 263 235 root S 630m 38% 0 0% node /home/site/wwwroot/app.js 482 291 root S 7368 0% 0 0% sshd: root@pts/0 45513 291 root S 7356 0% 0 0% sshd: root@pts/1 291 1 root S 7324 0% 0 0% /usr/sbin/sshd 490 482 root S 1540 0% 0 0% -ash 45539 45513 root S 1540 0% 0 0% -ash 45678 45539 root R 1536 0% 0 0% top 45733 1 root Z 0 0% 0 0% [init] 45734 1 root Z 0 0% 0 0% [init] 45735 1 root Z 0 0% 0 0% [init] 45736 1 root Z 0 0% 0 0% [init] 45737 1 root Z 0 0% 0 0% [init] 45738 1 root Z 0 0% 0 0% [init]
다음 단계
Azure 포럼에 질문 및 문제를 게시할 수 있습니다.
컨테이너용 웹앱에 대한 자세한 내용은 다음을 참조하세요.