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

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

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

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

الصق عنوان URL التالي في المتصفح واستبدله<app-name> باسم التطبيق:

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

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

SSH connection

Linux App Service SSH

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

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

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

الصق عنوان URL التالي في المتصفح واستبدله<app-name> باسم التطبيق:

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

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

SSH connection

استخدم دعم SSH مع صور Docker المخصصة

انظرتكوين SSH في حاوية مخصصة.

افتح جلسة SSH من shell عن بعد

إشعار

هذه الميزة موجودة حاليًا في المعاينة.

باستخدام توجيه TCP لأسفل، يمكنك إنشاء اتصال شبكة بين جهاز التطوير وتطبيق الويب للحاويات عبر اتصال 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.

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

قم بفتح جلسة SSH باستخدام الحاوية مع العميل الذي تختاره، باستخدام المنفذ المحلي. يستخدم المثال التالي الأمر الافتراضي ssh:

ssh root@127.0.0.1 -p <port>

عند مطالبتك، اكتب 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.

للحصول على مزيد من المعلومات بشأن تطبيق الويب للحاويات، انظر: