في منشور سابق
على Remote SSH ، درسنا كيفية تكوين جهاز Linux ظاهري والاتصال بجهاز ظاهري باستخدام
امتداد Remote - SSH في Visual Studio Code. سنتحدث في هذا المنشور عن بعض النصائح والحيل التي يمكنك استخدامها لتحقيق أقصى استفادة من التكوين عن بُعد.

الاتصال باستخدام SSH عن بعد
يسمح لك ملحق Visual Studio Code Remote - SSH بالاتصال بجهاز بعيد أو بجهاز ظاهري باستخدام SSH ، وكل ذلك من داخل VS Code. إذا لم تكن الإضافة مثبتة بالفعل ، يمكنك البحث عن "ssh عن بعد" في علامة التبويب "الامتدادات" (⇧⌘X).

بعد تثبيت الامتداد ، سترى مؤشرًا في الركن الأيسر السفلي من شريط الحالة. يخبرك هذا المؤشر في أي سياق يعمل رمز VS (محلي أو بعيد). انقر فوق المؤشر لعرض قائمة بأوامر الامتداد عن بُعد.

ملف التكوين SSH
في منشور سابق حول SSH عن بُعد ، وصلنا بجهاز واحد فقط ، وعندما طلب منك ، دخلنا إلى "user @ host". إذا كنت تتصل بانتظام بالعديد من الخوادم البعيدة أو الأجهزة الظاهرية المحلية ، فهناك طريقة أفضل للاتصال دون الحاجة إلى تذكر جميع أسماء المستخدمين والعناوين ومعلمات التكوين الإضافية.
يدعم
OpenSSH استخدام
ملف التكوين لتخزين جميع اتصالات SSH المختلفة. لاستخدام ملف تكوين SSH ، انقر فوق المؤشر البعيد لاستدعاء الأوامر عن بُعد ، وحدد "فتح ملف التكوين" ، وحدد الملف الموجود في "Users / {yourusername} /. Ssh / config".

فيما يلي مثال لملف تكوين SSH:
# SSH: https://linux.die.net/man/5/ssh_config Host python-linux-vm HostName <vm address> User sana IdentityFile ~/.ssh/id_python_vm Host node-vm HostName <vm address> User sana Port 5522 IdentityFile ~/.ssh/id_node_vm
هناك العديد من
خيارات التكوين الأخرى التي يمكنك تحديدها في تنسيق ملف التكوين SSH. ستحصل على الوظائف الإضافية في هذا الملف ، ويمكنك النقر فوق (⌃Space) لبرنامج IntelliSense لمعرفة المزيد حول خيارات التكوين.
الخيارات المستخدمة أعلاه:
يمكنك إضافة معلومات لجميع المضيفين لديك. بعد حفظ ملف التكوين ، يمكنك رؤية هذه العقد في Remote Explorer ، وكذلك أي مجلدات تفتحها على هذه العقدة. يمكنك تحديد أيقونة بجانب كل مضيف أو مجلد ، وسيتم تشغيل نافذة VS Code جديدة (مثيل) وتوصيلك بذلك المضيف. في لقطة الشاشة أدناه ، أنا متصل بجهاز "python-linux-vm" البعيد ، ويظهر لي Remote Explorer المجلدات التي قمت بالاتصال بها في الماضي ، وأي منافذ تمت إعادة توجيهها من الجهاز البعيد.

ProxyCommand
في بعض الأحيان قد تحتاج إلى الاتصال من الكمبيوتر المكتبي أو المحمول إلى كمبيوتر بعيد من خلال إنترانت الشركة أو خلف جدار الحماية. في هذه الحالة ، يمكنك استخدام خادم وسيط أو
قفزة وسيطة. هذا النوع من التكوين مفيد إذا كنت تقوم بتشغيل نظام آمن تم تكوينه لقبول اتصالات SSH فقط من مجموعة ثابتة من المضيفين.
لاستخدام تكوين
ProxyCommand
-box مع ملحق Remote - SSH ، يمكنك استخدام معلمة التكوين
ProxyCommand
. سيفتح هذا التكوين اتصال SSH في الخلفية باستخدام القفزة ، ثم يقوم بالاتصال من خلال عنوان IP الخاص بالهدف.
يمكنك تعيين معلمة التكوين
ProxyCommand
في ملف تكوين SSH كما يلي:
# Jump box IP- Host jump-box HostName 52.179.157.97 User sana IdentityFile ~/.ssh/jumpbox # IP- Host target-box HostName <IP address of target> User sana IdentityFile ~/.ssh/target ProxyCommand ssh -q -W %h:%p jump-box
ControlMaster
إذا قمت بالاتصال بمضيف SSH بعيد باستخدام أساليب المصادقة بخلاف المصادقة المستندة إلى المفاتيح ، مثل المصادقة ثنائية العامل أو القائمة على كلمة المرور أو مفتاح SSH مع عبارة مرور ، فقد تحتاج إلى إدخال المعلومات المطلوبة عدة مرات.
بدلاً من فتح اتصالات SSH متعددة ، يمكنك استخدام خيار
ControlMaster
(فقط على عملاء
ControlMaster
/ Linux) لإعادة استخدام اتصال موجود وتقليل عدد المرات التي تحتاجها لإدخال عبارة المرور الخاصة بك.
لاستخدام هذه الميزة ، أضف ما يلي إلى ملف تكوين SSH:
Host * ControlMaster auto ControlPath ~/.ssh/sockets/%r@%h-%p ControlPersist 600
الكمبيوتر البعيد المستقل
إذا كنت مقيدًا بجدار الحماية أو كانت شركتك تحظر أجهزتك الافتراضية ولم تتمكن من الاتصال بالإنترنت ، فلن يتمكن ملحق Remote SSH من الاتصال بجهازك الظاهري لأن VS Code يجب أن يقوم بتنزيل مكون يسمى VS Code Server على الجهاز البعيد.
ومع ذلك ، يمكنك الآن حل هذه المشكلة باستخدام
معلمة مستخدم جديدة في الملحق البعيد - SSH. إذا قمت بتمكين المعلمة
remote.SSH.allowLocalServerDownload
، فستقوم الإضافة أولاً بتثبيت VS Code Server على العميل ثم
remote.SSH.allowLocalServerDownload
إلى الخادم عبر SCP.
المذكرة. هذه ميزة تجريبية حاليًا ، ولكن سيتم تمكينها افتراضيًا في إصدار مستقبلي.
عن بعد - SSH Nightly extension
إذا كنت ترغب في اختبار التحديثات الجديدة والميزات التجريبية بمجرد توفرها ، فقم بتثبيت الامتداد عن بُعد - SSH Nightly (قم أولاً بإزالة امتداد Remote-SSH الثابت). هذا بناء بين الإضافات بين عشية وضحاها ، حيث نقوم بتجربة ميزات وإعدادات جديدة قبل إضافتها إلى الإصدار الثابت.