Aracılığıyla paylaş


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

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

Windows özel kapsayıcıları, tarayıcı SSH oturumunun çalışması için herhangi bir özel ayar gerektirmez. Azure CLI aracılığıyla SSH oturumları desteklenmez.

Linux App Service SSH

Secure Shell (SSH), yönetim komutlarını bir kapsayıcıda uzaktan yürütmek için kullanılabilir. App Service, Linux kapsayıcısında barındırılan bir uygulamada (yerleşik veya özel) doğrudan SSH desteği sağlar.

Yerleşik Linux kapsayıcıları, SSH oturumlarını etkinleştirmek için gerekli yapılandırmaya zaten sahiptir. Linux özel kapsayıcıları, SSH oturumlarını etkinleştirmek için ek yapılandırmalar gerektirir. Bkz . SSH'yi etkinleştirme.

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ızla doğrudan SSH oturumu açmak için uygulamanızın çalışıyor olması gerekir.

az webapp ssh komutunu kullanın.

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 bağlantısı

Azure CLI ile SSH oturumu açma

TCP tünelini kullanarak, kimliği doğrulanmış bir WebSocket bağlantısı üzerinden geliştirme makinenizle Linux kapsayıcıları 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<>

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

İpucu

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

Not

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.

Verifying if app is running....
App is running. Trying to establish tunnel connection...
Opening tunnel on addr: 127.0.0.1
Opening tunnel on port: <port-output>
SSH is available { username: root, password: Docker! }
Ctrl + C to close

Çıktıda (<port-output>) sağlanan yerel bağlantı noktasını kullanarak kapsayıcınızla tercihinize bağlı istemciyle bir SSH oturumu açın. Örneğin, linux ssh komutuyla gibi java -versiontek bir komut çalıştırabilirsiniz:

ssh root@127.0.0.1 -m hmac-sha1 -p <port-output> java -version

Tam bir SSH oturumuna giriş yapmak için sadece şunu çalıştırın:

ssh root@127.0.0.1 -m hmac-sha1 -p <port-output>

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

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, PID 263 ile olan çı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: