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.

SSH connection

Linux App Service SSH

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.

SSH connection

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: