Otwieranie sesji SSH w kontenerze w usłudze aplikacja systemu Azure
Protokół Secure Shell (SSH) może służyć do zdalnego wykonywania poleceń administracyjnych do kontenera. Usługa App Service zapewnia obsługę protokołu SSH bezpośrednio w aplikacji hostowanej w kontenerze.
Otwieranie sesji SSH w przeglądarce
Aby otworzyć bezpośrednią sesję SSH w kontenerze, należy uruchomić aplikację.
Wklej następujący adres URL do przeglądarki i zastąp wartość <app-name>
nazwą swojej aplikacji:
https://<app-name>.scm.azurewebsites.net/webssh/host
Jeśli nie masz jeszcze uwierzytelnienia, musisz uwierzytelnić się w subskrypcji platformy Azure, aby nawiązać połączenie. Po uwierzytelnieniu zostanie wyświetlona powłoka w przeglądarce umożliwiająca uruchamianie poleceń w kontenerze.
Możesz również nawiązać połączenie z kontenerem bezpośrednio z lokalnej maszyny deweloperskiej przy użyciu protokołów SSH i SFTP.
Otwieranie sesji SSH w przeglądarce
Aby otworzyć bezpośrednią sesję SSH w kontenerze, należy uruchomić aplikację.
Wklej następujący adres URL do przeglądarki i zastąp wartość <app-name>
nazwą swojej aplikacji:
https://<app-name>.scm.azurewebsites.net/webssh/host
Jeśli nie masz jeszcze uwierzytelnienia, musisz uwierzytelnić się w subskrypcji platformy Azure, aby nawiązać połączenie. Po uwierzytelnieniu zostanie wyświetlona powłoka w przeglądarce umożliwiająca uruchamianie poleceń w kontenerze.
Korzystanie z obsługi protokołu SSH z niestandardowymi obrazami platformy Docker
Zobacz Konfigurowanie protokołu SSH w kontenerze niestandardowym.
Otwieranie sesji SSH ze zdalnej powłoki
Uwaga
Ta funkcja jest obecnie dostępna w wersji zapoznawczej.
Za pomocą tunelowania TCP można utworzyć połączenie sieciowe między maszyną programistycznym i aplikacją internetową dla kontenerów za pośrednictwem uwierzytelnionego połączenia protokołu WebSocket. Umożliwia ona otwarcie sesji SSH z kontenerem uruchomionym w usłudze App Service z wybranego klienta.
Aby rozpocząć, musisz zainstalować interfejs wiersza polecenia platformy Azure. Aby zobaczyć, jak działa bez instalowania interfejsu wiersza polecenia platformy Azure, otwórz usługę Azure Cloud Shell.
Otwórz połączenie zdalne z aplikacją przy użyciu polecenia az webapp create-remote-connection . Określ <identyfikator> subskrypcji, <nazwę> grupy i< nazwę> aplikacji dla aplikacji.
az webapp create-remote-connection --subscription <subscription-id> --resource-group <resource-group-name> -n <app-name> &
Napiwek
&
na końcu polecenia jest tylko dla wygody, jeśli używasz usługi Cloud Shell. Uruchamia proces w tle, aby można było uruchomić następne polecenie w tej samej powłoce.
Uwaga
Jeśli to polecenie nie powiedzie się, upewnij się, że debugowanie zdalne jest wyłączone za pomocą następującego polecenia:
az webapp config set --resource-group <resource-group-name> -n <app-name> --remote-debugging-enabled=false
Dane wyjściowe polecenia zawierają informacje potrzebne do otwarcia sesji SSH.
Port 21382 is open
SSH is available { username: root, password: Docker! }
Start your favorite client and connect to port 21382
Otwórz sesję SSH z wybranym kontenerem przy użyciu wybranego klienta przy użyciu portu lokalnego. W poniższym przykładzie użyto domyślnego polecenia SSH :
ssh root@127.0.0.1 -p <port>
Po wyświetleniu monitu wpisz yes
, aby kontynuować nawiązywanie połączenia. Zostanie wyświetlony monit o podanie hasła. Użyj Docker!
polecenia , który został pokazany wcześniej.
Warning: Permanently added '[127.0.0.1]:21382' (ECDSA) to the list of known hosts. root@127.0.0.1's password:
Po uwierzytelnieniu powinien zostać wyświetlony ekran powitalny sesji.
_____ / _ \ __________ _________ ____ / /_\ \___ / | \_ __ \_/ __ \ / | \/ /| | /| | \/\ ___/ \____|__ /_____ \____/ |__| \___ > \/ \/ \/ A P P S E R V I C E O N L I N U X 0e690efa93e2:~#
Masz teraz połączenie z łącznikiem.
Spróbuj uruchomić pierwsze polecenie. Proces aplikacji powinien być widoczny na liście procesów. W poniższych przykładowych danych wyjściowych jest to jedno z parametrami 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]
Następne kroki
Możesz publikować pytania i wątpliwości na forum platformy Azure.
Aby uzyskać więcej informacji na temat funkcji Web App for Containers, zobacz:
- Wprowadzenie do zdalnego debugowania aplikacji Node.js w usłudze aplikacja systemu Azure z programu VS Code
- Szybki start: uruchamianie niestandardowego kontenera w usłudze App Service
- Azure App Service Web App for Containers FAQ (Usługa Web App for Containers w usłudze Azure App Service — często zadawane pytania)