Azure Uygulaması Hizmeti'nde bir kapsayıcıya SSH oturumu açma

Secure Shell (SSH), yönetim komutlarını bir Kapsayıcıya uzaktan yürütmek için kullanılabilir. App Service, kapsayıcıda barındırılan bir uygulamaya doğrudan SSH desteği sağlar.

Tarayıcıda SSH oturumu açma

Kapsayıcınızda doğrudan SSH oturumu başlatabilmek için uygulamanızın çalışıyor olması gerekir.

Aşağıdaki URL'yi tarayıcınıza yapıştırın ve <app-name> yerine kendi uygulamanızın adını yazın:

https://<app-name>.scm.azurewebsites.net/webssh/host

Kimlik doğrulamasından geçmediyseniz bağlantıyı kurabilmek için Azure aboneliğinizle kimliğinizi doğrulamanız gerekir. Kimliğiniz doğrulandıktan sonra kapsayıcınızda komut çalıştırmak için kullanabileceğiniz tarayıcı içi kabuk ortamını görürsünüz.

SSH connection

Linux App Service SSH

Ayrıca SSH ve SFTP kullanarak doğrudan yerel geliştirme makinenizden kapsayıcıya bağlanabilirsiniz.

Tarayıcıda SSH oturumu açma

Kapsayıcınızda doğrudan SSH oturumu başlatabilmek için uygulamanızın çalışıyor olması gerekir.

Aşağıdaki URL'yi tarayıcınıza yapıştırın ve <app-name> yerine kendi uygulamanızın adını yazın:

https://<app-name>.scm.azurewebsites.net/webssh/host

Kimlik doğrulamasından geçmediyseniz bağlantıyı kurabilmek için Azure aboneliğinizle kimliğinizi doğrulamanız gerekir. Kimliğiniz doğrulandıktan sonra kapsayıcınızda komut çalıştırmak için kullanabileceğiniz tarayıcı içi kabuk ortamını görürsünüz.

SSH connection

Özel Docker görüntüleriyle SSH desteğini kullanma

Bkz . Özel kapsayıcıda SSH'yi yapılandırma.

Uzak kabuktan SSH oturumu açma

Dekont

Bu özellik şu anda Önizleme aşamasındadır.

TCP tünelini kullanarak, kimliği doğrulanmış bir WebSocket bağlantısı üzerinden geliştirme makinenizle Kapsayıcılar için Web App arasında bir ağ bağlantısı oluşturabilirsiniz. Seçtiğiniz istemciden App Service'te çalışan kapsayıcınızla bir SSH oturumu açmanıza olanak tanır.

Başlamak için Azure CLI'yı yüklemeniz gerekir. Azure CLI'yı yüklemeden nasıl çalıştığını görmek için Azure Cloud Shell'i açın.

az webapp create-remote-connection komutunu kullanarak uygulamanıza uzak bir bağlantı açın. Uygulamanız için abonelik kimliği>, <grup adı> ve <uygulama adı> belirtin.<

az webapp create-remote-connection --subscription <subscription-id> --resource-group <resource-group-name> -n <app-name> &

Bahşiş

& komutun sonunda yalnızca Cloud Shell kullanıyorsanız kolaylık sağlamak için kullanılır. Aynı kabukta sonraki komutu çalıştırabilmeniz için işlemi arka planda çalıştırır.

Dekont

Bu komut başarısız olursa, aşağıdaki komutla uzaktan hata ayıklamanın devre dışı bırakıldıkdan emin olun:

az webapp config set --resource-group <resource-group-name> -n <app-name> --remote-debugging-enabled=false

Komut çıktısı size bir SSH oturumu açmak için ihtiyacınız olan bilgileri verir.

Port 21382 is open
SSH is available { username: root, password: Docker! }
Start your favorite client and connect to port 21382

Yerel bağlantı noktasını kullanarak seçtiğiniz istemciyle kapsayıcınızla bir SSH oturumu açın. Aşağıdaki örnekte varsayılan ssh komutu kullanılır:

ssh root@127.0.0.1 -p <port>

İstendiğinde bağlanmaya devam etmek için yazın yes . Ardından parola istenir. Daha önce size gösterilen öğesini kullanın Docker!.

Warning: Permanently added '[127.0.0.1]:21382' (ECDSA) to the list of known hosts.
root@127.0.0.1's password:

Kimliğiniz doğrulandıktan sonra oturuma hoş geldiniz ekranını görmeniz gerekir.

  _____
  /  _  \ __________ _________   ____
 /  /_\  \___   /  |  \_  __ \_/ __ \
/    |    \/    /|  |  /|  | \/\  ___/
\____|__  /_____ \____/ |__|    \___  >
        \/      \/                  \/
A P P   S E R V I C E   O N   L I N U X

0e690efa93e2:~#

Artık bağlayıcınıza bağlısınız.

En üstteki komutu çalıştırmayı deneyin. Uygulamanızın işlemini işlem listesinde görebilmeniz gerekir. Aşağıdaki örnek çıktıda, ile olan PID 263çıktıdır.

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]

Sonraki adımlar

Azure forumu'nda soru ve endişeleri gönderebilirsiniz.

Kapsayıcılar için Web App hakkında daha fazla bilgi için bkz: