فتح جلسة SSH إلى حاوية في Azure App Service
يمكن استخدام Secure Shell (SSH) لتنفيذ الأوامر الإدارية عن بعد إلى حاوية. توفر App Service دعم SSH مباشرة في تطبيق مستضاف في حاوية مخصصة ل Windows.
لا تتطلب حاويات Windows المخصصة أي إعدادات خاصة لجلسة عمل SSH للمستعرض. جلسات SSH من خلال Azure CLI غير مدعومة.
يمكن استخدام Secure Shell (SSH) لتنفيذ الأوامر الإدارية عن بعد إلى حاوية. توفر App Service دعم SSH مباشرة في تطبيق مستضاف في حاوية Linux (مضمنة أو مخصصة).
حاويات Linux المضمنة لديها بالفعل التكوين اللازم لتمكين جلسات SSH. تتطلب حاويات Linux المخصصة تكوينات إضافية لتمكين جلسات SSH. راجع تمكين SSH.
يمكن أيضًا الاتصال بالحاوية مباشرةً من جهاز التطوير المحلي لديك باستخدام SSH وSFTP.
فتح جلسة SSH في المستعرض
لفتح جلسة SSH مباشرة مع حاويتك، يجب أن يكون تطبيقك قيد التشغيل.
الصق عنوان URL التالي في المتصفح واستبدله<app-name>
باسم التطبيق:
https://<app-name>.scm.azurewebsites.net/webssh/host
إذا لم تتم مصادقتكَ بعد، يجب عليك المصادقة باستخدام اشتراك Azure للاتصال. بمجرد المصادقة، سترى shell في المستعرض، حيث يمكنك تشغيل الأوامر داخل حاويتك.
فتح جلسة SSH باستخدام Azure CLI
باستخدام نفق TCP يمكنك إنشاء اتصال شبكة بين جهاز التطوير وحاويات Linux عبر اتصال WebSocket مصادق عليه. يمكّنك من فتح جلسة SSH مع تشغيل الحاوية في خدمة التطبيقات من العميل الذي تختاره.
تحتاج إلى تثبيت Azure CLI للبدء. لمعرفة كيفية عملها دون تركيب Azure CLI، افتح Azure Cloud Shell.
افتح اتصالاً عن بعد بتطبيقك باستخدام الأمر az webapp create-remote-connection. حدد <معرف الاشتراك>، <واسم المجموعة><واسم التطبيق> لتطبيقك.
az webapp create-remote-connection --subscription <subscription-id> --resource-group <resource-group-name> -n <app-name> &
تلميح
&
في نهاية الأمر للراحة فقط إذا كنت تستخدم Cloud Shell. يقوم بتشغيل العملية في مهمة في الخلفية بحيث يمكنك تشغيل الأمر التالي في shell نفسه.
إشعار
في حال فشل هذا الأمر، فتأكد من تعطيلتصحيح الأخطاء عن بعد باستخدام الأمر التالي:
az webapp config set --resource-group <resource-group-name> -n <app-name> --remote-debugging-enabled=false
يمنحك إخراج الأمر المعلومات التي تحتاجها لفتح جلسة SSH.
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
افتح جلسة SSH مع الحاوية الخاصة بك مع العميل الذي تختاره، باستخدام المنفذ المحلي المتوفر في الإخراج (<port-output>
). على سبيل المثال، باستخدام الأمر linux ssh ، يمكنك تشغيل أمر واحد مثل java -version
:
ssh root@127.0.0.1 -m hmac-sha1 -p <port-output> java -version
أو، لإدخال جلسة SSH كاملة، ما عليك سوى تشغيل:
ssh root@127.0.0.1 -m hmac-sha1 -p <port-output>
عند مطالبتك، اكتب yes
لمتابعة الاتصال. ثم تُطالَب بكلمة المرور. استخدم Docker!
، الذي عُرض لك في وقت سابق.
Warning: Permanently added '[127.0.0.1]:21382' (ECDSA) to the list of known hosts. root@127.0.0.1's password:
بمجرد المصادقة، سترى شاشة الترحيب بالجلسة.
_____ / _ \ __________ _________ ____ / /_\ \___ / | \_ __ \_/ __ \ / | \/ /| | /| | \/\ ___/ \____|__ /_____ \____/ |__| \___ > \/ \/ \/ A P P S E R V I C E O N L I N U X 0e690efa93e2:~#
حالياً أنت متصل بالموصل.
حاول تشغيل الأمرالعلوي. يجب أن تكون قادراً على فحص عملية تطبيقك في قائمة العمليات. في مثال الإخراج أدناه، هو الذي يحتوي على 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]
الخطوات التالية
يمكن نشر الأسئلة والشواغل في منتدى Azure.
للحصول على مزيد من المعلومات بشأن تطبيق الويب للحاويات، انظر: