فتح جلسة SSH إلى حاوية في Azure App Service

يمكن استخدام Secure Shell (SSH) لتنفيذ الأوامر الإدارية عن بعد إلى حاوية. توفر App Service دعم SSH مباشرة في تطبيق مستضاف في حاوية مخصصة ل Windows.

لا تتطلب حاويات Windows المخصصة أي إعدادات خاصة لجلسة عمل SSH للمستعرض.

يمكن استخدام Secure Shell (SSH) لتنفيذ الأوامر الإدارية عن بعد إلى حاوية. توفر App Service دعم SSH مباشرة في تطبيق مستضاف في حاوية Linux (مضمنة أو مخصصة).

حاويات Linux المضمنة لديها بالفعل التكوين اللازم لتمكين جلسات SSH. تتطلب حاويات Linux المخصصة تكوينات إضافية لتمكين جلسات SSH. لمعرفة المزيد، راجع تفعيل SSH.

لقطة شاشة تظهر خدمة التطبيقات SSH.

جلسات SSH عبر واجهة Azure CLI غير مدعومة لخطط خدمة تطبيقات ويندوز. تدعم فقط خطط خدمة تطبيقات لينكس.

يمكنك أيضا الاتصال بالحاوية مباشرة من جهاز التطوير المحلي باستخدام SSH وSFTP.

فتح جلسة SSH في المستعرض

إذا كنت ترغب في فتح جلسة SSH مباشرة مع الحاوية الخاصة بك، فيجب أن يكون تطبيقك قيد التشغيل.

استخدم الأمر az webapp ssh .

إذا لم تتم مصادقتك، فأنت بحاجة إلى المصادقة باستخدام اشتراك Azure الخاص بك للاتصال. عند المصادقة، سترى shell داخل المستعرض حيث يمكنك تشغيل الأوامر داخل الحاوية الخاصة بك.

اتصال SSH

فتح جلسة SSH باستخدام Azure CLI

باستخدام نفق TCP، يمكنك إنشاء اتصال شبكي بين جهاز التطوير وحاويات لينكس عبر اتصال WebSocket مصدق. يمكنك بعد ذلك فتح جلسة SSH مع تشغيل الحاوية في خدمة التطبيقات من العميل الذي تختاره.

للبدء، تحتاج إلى تثبيت واجهة الوصول إلى Azure (CLI). لترى كيف يعمل بدون تثبيت Azure CLI، افتح Azure Cloud Shell.

افتح اتصالا عن بعد بتطبيقك باستخدام أمر إنشاء اتصال عن بعد على الويب في أزيزود . حدد <معرف> الاشتراك، <اسم المجموعة-المصدر>، واسم<> التطبيق لتطبيقك.

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>. على سبيل المثال، مع أمر 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:~#

أنت الآن متصل بالموصل.

حاول تشغيل الأمرالعلوي.

top

يجب أن تكون قادراً على فحص عملية تطبيقك في قائمة العمليات. في المخرجات المثالية، هي التي تحتوي على 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.

لمعرفة المزيد عن خدمة التطبيقات للحاويات، انظر: