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.
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.
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.
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>, <grup adı> ve <uygulama adı> belirtin.<
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 sonraki komutu çalıştırabilmeniz için işlemi arka planda çalıştırı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 -version
tek bir komut çalıştırabilirsiniz:
ssh root@127.0.0.1 -m hmac-sha1 -p <port-output> java -version
Tam SSH oturumu girmek için şunu da çalıştırmanız gerekir:
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 öğ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: