استخدام SSH لاستخدام اتصال سطح المكتب البعيد ب Windows بأمان
بيئة التشغيل
- الاتصال عن بعد بنظام التشغيل Windows
-
- ويندوز ١١
- الاتصال عن بعد من Windows
-
- ويندوز ١٠
- أوبن إس إس إتش
-
- OpenSSH_for_Windows_8.1p1 ، ليبر إس إس إل 3.0.2
المتطلبات المسبقه
- الاتصال عن بعد بنظام التشغيل Windows
-
- Windows 10 أو إصدار أحدث (يلزم توفر إصدار Pro أو إصدار آخر). ومع ذلك ، لا ينطبق هذا إذا كان من الممكن إعداد OpenSSH بشكل منفصل.
- ويندوز سيرفر 2019 أو أحدث. ومع ذلك ، لا ينطبق هذا إذا كان من الممكن إعداد OpenSSH بشكل منفصل.
- الاتصال عن بعد من Windows
-
- ويندوز (معظم الإصدارات ممكنة)
- خادم ويندوز (معظم الإصدارات ممكنة)
في البداية
بعد إنشاء بيئة Windows على الإنترنت في السحابة أو VPS ، غالبا ما تستخدم اتصال سطح مكتب بعيد لتشغيل وجهة Windows البعيدة.
في اتصال سطح المكتب البعيد ، يتم تشفير محتوى الاتصال ، وإذا لم يتم تسريب اسم المستخدم وكلمة المرور ، فلن يقوم الآخرون بتسجيل الدخول دون إذن. هناك دائما قلق من أن الناس سيحاولون تسجيل الدخول من أي مكان.
تحتوي بعض السحب الرئيسية على جدران حماية منفصلة عن الأجهزة الافتراضية ، وهناك وظيفة لتقييد مصدر الاتصال. قد لا تتوفر هذه الميزات في جميع الخدمات. خاصة في البيئات المبنية على ميزانية منخفضة ، هناك العديد من الحالات التي لا تتوفر فيها هذه الوظائف.
لذلك ، هذه المرة ، أود تقييد مصدر الاتصال قدر الإمكان عن طريق إضافة وظيفة SSH . نظرا لاستخدام المفتاح الخاص والمفتاح العام ، طالما لم يتم تسريب المفتاح الخاص ، يمكن تقليل إمكانية تسجيل الدخول عن بعد من بيئة أخرى قدر الإمكان.
في هذه الحالة ، سوف نستخدم OpenSSH لبناء بيئة SSH .
إنشاء بيئة Windows وجهة بعيدة
قم ببناء بيئة Windows تسمح لك بالاتصال عن بعد عبر الإنترنت. لا يهم مكان بنائه طالما أنه ينتقل عبر الإنترنت ، ولكن لهذا التحقق ، سيتم إنشاؤه كجهاز افتراضي على Microsoft Azure. خطوات البناء على Azure ليست ذات صلة بهذه النصيحة ، لذلك سأحذفها. نظرا لأنه سيتم استخدام المنفذ 22 هذه المرة، إذا كنت تستخدم Azure، فتأكد من أن اتصال المنفذ 22 يمر عبر إعدادات الجهاز الظاهري على Azure.
إذا كنت تقوم بالبناء في بيئة أخرى غير Azure، فتأكد من أنك في وضع يمكنك من إجراء اتصال سطح مكتب بعيد ب Windows لبيئتك.
بالإضافة إلى ذلك ، يستهدف إصدار Windows Windows 10 أو أحدث ، أو Windows Server 2019 أو أحدث ، مما يجعل من السهل إنشاء بيئة OpenSSH. يمكن تنفيذه في بيئة سابقة ، ولكنه يستغرق المزيد من الوقت والجهد لأنك تحتاج إلى تنزيل OpenSSH وإعداده بشكل منفصل.
في هذه الحالة ، يكون الإجراء هو نفسه بالنسبة ل SFTP ، لذا يرجى الرجوع إلى النصائح التالية.
إعداد OpenSSH
من هنا ، سنعمل في بيئة Windows البعيدة. أولا ، اتصل بالوجهة البعيدة باستخدام اتصال سطح مكتب بعيد. إذا كانت السحابة أو VPS توفر وحدة تحكم ، فيمكنك استخدامها. نظرا لأننا نعمل في بيئة Windows 11 هذه المرة ، فقد تختلف الخطوات قليلا في الإصدارات الأخرى.
افتح قائمة ابدأ وحدد الإعدادات.
حدد تطبيقا.
حدد الميزات الاختيارية.
حدد إظهار الميزات.
يوجد "خادم OpenSSH" أقل قليلا في القائمة ، لذا تحقق منه وانقر على "التالي".
انقر فوق تثبيت.
عند اكتمال التثبيت وإضافة "خادم OpenSSH" إلى القائمة أدناه ، تكون قد انتهيت.
تكوين الخدمة ل OpenSSH
انقر بزر الماوس الأيمن فوق قائمة ابدأ وحدد إدارة الكمبيوتر.
حدد الخدمات من القائمة الموجودة على اليمين.
ابحث عن "OpenSSH SSH Server" في القائمة الوسطى ، وانقر بزر الماوس الأيمن وحدد "خصائص".
عند الاتصال عن بعد ، نريد تشغيل خادم OpenSSH ، لذا اضبط "نوع بدء التشغيل" على "تلقائي".
نظرا لأنه لا يعمل في الوقت الحالي ، سأبدأه هنا ، بما في ذلك إعداده.
بمجرد إطلاقه ، انقر فوق OK زر لإغلاقه. يجب أن يكون قيد التشغيل في القائمة.
تكوين OpenSSH
في الحالة الأولية ، يتم تعطيل المصادقة عن طريق المفتاح الخاص ، لذا قم بتعيينها. افتح المجلد التالي في المستكشف.
- جيم : \\ بيانات البرنامج \\ ssh
ومع ذلك ، قد يكون المجلد أعلاه مجلدا مخفيا ، لذا يرجى جعله مرئيا عن طريق تعيين خيارات Explorer.
يوجد ملف يسمى في sshd_config
المجلد ، لذا افتحه باستخدام محرر نصوص مثل Notepad.
نظرا لأننا سنجري تغييرات هذه المرة ، يرجى النسخ والتكرار كنسخة sshd_config_old
احتياطية قبل التغيير.
PubkeyAuthentication yes
بحث:
هذا العنصر هو إعداد لتمكين مصادقة المفتاح السري.
بشكل افتراضي ، يتم تعطيله ويقول ، ولكن يتم التعليق عليه ، yes
لذا قم بإلغاء التعليق عليه.
قبل التغيير
#PubkeyAuthentication yes
بعد التغيير
PubkeyAuthentication yes
PasswordAuthentication yes
بحث:
هذا العنصر هو إعداد ل ما إذا كان سيتم تمكين مصادقة كلمة المرور.
يتم تمكينه افتراضيا ، وحتى إذا قمت بتمكين مصادقة المفتاح الخاص ، فلا معنى له من وجهة نظر الأمان إذا ظل ممكنا ، لذا قم بإلغاء التعليق عليه وتعيينه no
.
قبل التغيير
#PasswordAuthentication yes
بعد التغيير
PasswordAuthentication no
على السطر التالي بالقرب من النهاية: هذا هو الإعداد الرئيسي لمجموعة المسؤولين ، وسنقوم بتعطيله لأننا سندعم عمليات تسجيل الدخول لكل مستخدم في هذه الحالة.
قبل التغيير
Match Group administrators
AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
بعد التغيير
#Match Group administrators
# AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
بعد حفظ الملف بعد OpenSSH SSH Server
التغيير ، أعد تشغيل الخدمة لتعكس الإعدادات.
إذا كنت تريد تغيير المنفذ
إذا كنت تريد تغيير منفذ SSH ، فقم بتغيير ما يلي.
قبل التغيير
#Port 22
بعد التغيير
#Port <任意の番号>
من خلال تغيير رقم المنفذ ، لن يتم مهاجمة المنفذ الافتراضي ، مما سيؤدي إلى أمان أقوى. من ناحية أخرى ، فإنه يزيد من تعقيد العملية ، لذلك عليك أن تكون حذرا.
إذا قمت بتغيير رقم المنفذ ، فيجب عليك تحديد منفذ آخر غير 22 عند الاتصال.
إنشاء مفاتيح خاصة وعامة
هذه مهمة من جانب العميل. ومع ذلك ، لا يهم حقا المكان الذي تعمل فيه. ومع ذلك ، احرص على عدم تسريب المفتاح الخاص الذي قمت بإنشائه.
إذا كان لديك Windows 10 أو إصدار أحدث ، Windows Server 2019 أو إصدار أحدث ، تثبيت عميل OpenSSH افتراضيا ، بحيث يمكنك إنشاؤه بسهولة باستخدام أمر. في بيئات أخرى ، ستحتاج إلى تثبيت عميل OpenSSH منفصل أو استخدام أداة منفصلة.
النصائح التالية خاصة ب SFTP ، ولكن يرجى الرجوع إليها لإعداد عميل OpenSSH.
في بيئة العميل ، قم بتشغيل موجه الأوامر أو PowerShell أو المحطة الطرفية أو أي أداة يمكنها تنفيذ الأوامر.
نظرا لأنك ستقوم بإنشاء ملف ، فانتقل cd
إلى أي دليل بأمر.
قم بتشغيل الأمر التالي:
ssh-keygen -t rsa -f id_rsa
يمكنك تعيين عبارة مرور (كلمة مرور) للمفتاح ، لذا يرجى إدخالها إذا لزم الأمر. إذا قمت بتعيين عبارة مرور ، تحسين الأمان ، ولكنه سيزيد من الوقت والجهد لإدخال عبارة المرور في العملية اللاحقة.
تم إنشاء مفتاح عام (id_rsa.pub) ومفتاح خاص (id_rsa).
سيتم وضع المفتاح العام (id_rsa.pub) على الوجهة البعيدة لاحقا. يمكن وضع المفتاح الخاص في أي مكان على العميل البعيد ، ولكن يجب أن يكون موجودا في مجلد لا يمكن الوصول إليه إلا بواسطة الحساب المستخدم لأغراض الأمان. في الأساس ، أعتقد أنه لا توجد مشكلة إذا وضعته في المجلد التالي من جانب العميل. إذا كنت تستخدم عميل OpenSSH ، استعراضه للوصول إلى هذا المجلد افتراضيا.
C:\Users\<ユーザー名>\.ssh
إذا لم تتمكن من إنشاء المجلد أعلاه في Explorer ، فيمكنك إنشاؤه باستخدام الأمر التالي.
cd C:\Users\<ユーザー名>
mkdir .ssh
وضع المفاتيح العمومية
هذه عملية عن بعد.
ضع المفتاح العام الذي تم إنشاؤه (id_rsa.pub) على الوجهة البعيدة.
نقل هذا الملف إلى المجلد التالي: <ユーザー名>
هو اسم حساب المستخدم الذي ستقوم بتسجيل الدخول إليه عند الاتصال فعليا عن بعد.
C:\Users\<ユーザー名>\.ssh
إذا لم يكن لديك مجلد ولا يمكنك إنشاء مجلد في Explorer، فيمكنك إنشاء مجلد باستخدام الأمر التالي.
cd C:\Users\<ユーザー名>
mkdir .ssh
قم بتغيير ملف authorized_keys
المفتاح العام المنشور إلى . هذا هو.
اعتمادا على البيئة الخاصة بك ، قد يكون لديك الملف بالفعل authorized_keys
. قد يكون هذا هو الحال إذا قمت بإعداد اتصال SSH لأغراض أخرى.
في هذه الحالة authorized_keys
، قمت بتسجيل الملف عن طريق فتح الملف والملف باستخدام Notepad ، وما إلى ذلك ، وإدراج id_rsa.pub
محتويات id_rsa.pub في السطر التالي من authorized_keys.
يمكنك تسجيل مفاتيح عامة متعددة في authorized_keys.
تواصل مع SSH
عند الاتصال بأمر OpenSSH
هناك طرق مختلفة للاتصال ب SSH ، ولكن لنبدأ باتصال قائم على الأوامر. في الواقع ، يكون الاتصال بأقل عدد من الخطوات عن طريق الأمر. كشرط أساسي، يجب أن يكون لديك عميل OpenSSH مثبتا.
قم بتشغيل أداة الأوامر التي تختارها (موجه الأوامر ، PowerShell ، Terminal).
أدخل الأمر التالي:
تنسيق الأوامر
ssh -i <秘密鍵ファイルパス> -L <ローカルの空いているポート>:127.0.0.1:3389 <接続先のユーザーアカウント名>@<接続先サーバーIPアドレス、またはホスト名>
فيما يلي شرح للمعلمات. اضبطه وفقا لبيئتك.
اسموصف | معلمة المتغير | |
---|---|---|
إس إس إتش | إعلان لاستخدام SSH مع OpenSSH. | |
-أنا | إعلان لاستخدام ملف مفتاح خاص. | |
< مسار ملف المفتاح الخاص> | ● | وصف موقع ملف المفتاح الخاص الذي قمت بإنشائه. C:\Users\<ユーザー名>\.ssh المسار اختياري. خلاف ذلك ، مطلوب مسار مطلق أو نسبي. |
-L | يحدد هذا الإعلان المنفذ الذي سيتم استخدامه محليا وعن بعد عند الاتصال بوجهة بعيدة. | |
< ميناء حر محلي> | ● | عادة ما يستخدم "الاتصال بسطح المكتب البعيد" المنفذ 3389، ولكن يمكنك الاتصال باستخدام أي منفذ. لا يهم ما هو الرقم ، طالما أنه مجاني. |
127.0.0.1 | هذا هو عنوان IP المضيف الذي يتعرف على المكان الذي تتصل منه الوجهة البعيدة. في الأساس ، 127.0.0.1 جيد. | |
3389 | رقم المنفذ الذي سيتم استخدامه في الوجهة البعيدة. عادة ما يتم توصيل الوجهة البعيدة عن طريق المنفذ 3389 مع اتصال سطح مكتب بعيد ، لذلك يمكن تركها كما هي. | |
< اسم حساب المستخدم الذي تريد الاتصال به> | ● | حدد الحساب الذي تريد الاتصال به في الوجهة البعيدة. |
< عنوان IP أو اسم المضيف للخادم للاتصال به> | ● | يحدد خادم الوجهة البعيدة. |
مثال على الإدخال
ssh -i id_rsa -L 13389:127.0.0.1:3389 TestUser@52.140.221.194
في المرة الأولى ، ستتم مطالبتك بمفتاح ، لذا yes
اكتب واضغط على Enter.
إذا كان لديك عبارة مرور معينة لمفتاحك الخاص، فيجب عليك إدخالها.
سيكون ما يلي في حالة اتصال. يمكنك أن ترى أنه يتم عرض المستخدم على جانب الخادم ، وليس العميل. أثناء عرض هذه النافذة ، فهي متصلة ، لذا يرجى عدم إغلاقها. إذا قمت بإغلاقه ، قطع الاتصال.
عند الاتصال مع PuTTY
هنا ، سنحاول الاتصال ب SSH باستخدام أداة تسمى PuTTY.
تحويل المفتاح الخاص
أولا ، إذا كنت تستخدم PuTTY ، فستحتاج إلى تحويل المفتاح الخاص. أعتقد أن هناك "puttygen .exe" في الأداة المرفقة ، لذا يرجى بدء تشغيلها.
حدد "التحويلات -> مفتاح الاستيراد" من القائمة.
حدد المفتاح الخاص الذي قمت بإنشائه ، في هذه الحالة ، "id_rsa".
إذا قمت بتعيين عبارة مرور ، فأدخلها.
حدد "ملف -> حفظ المفتاح الخاص" من القائمة.
「. .ppk".
بمجرد الإنشاء ، تكون قد انتهيت.
تكوين PuTTY
إطلاق المعجون.exe.
أدخل عنوان IP للبيئة التي تريد الاتصال بها. إذا كان لديك مجال، يمكنك الاتصال باسم مجال.
حدد الاتصال -> البيانات من القائمة الموجودة على اليسار. في حقل اسم مستخدم تسجيل الدخول التلقائي، أدخل اسم حساب البيئة التي تريد الاتصال بها.
من القائمة الموجودة على اليسار ، حدد الاتصال -> SSH -> الأنفاق. أدخل كل منها في حقل الإدخال أدناه وانقر فوق الزر "إضافة".
قيمةملاحظات | اسم المعلمة | |
---|---|---|
منفذ المصدر | 13389 | أي منفذ مجاني سيفي بالغرض. سأستخدمه لاحقا |
مقصد | 127.0.0.1:3389 |
عند إضافته ، يجب أن يبدو كما يلي:
بعد ذلك ، حدد "الاتصال -> SSH -> Auth -> Cledentioals" من القائمة الموجودة على اليسار وانقر فوق الزر "استعراض" ل "ملف المفتاح الخاص للمصادقة".
حدد المفتاح الخاص الذي قمت بحفظه.
حدد "الجلسة" في القائمة الموجودة على اليسار ، وأدخل اسما من اختيارك لحفظ الجلسات ، وانقر فوق الزر حفظ. من المرة القادمة فصاعدا ، لا بأس إذا قمت بتحميل هذا الإعداد.
بعد تأكيد الحفظ ، انقر فوق الزر "فتح".
سيتم عرض الشاشة التالية عند الاتصال لأول مرة. انقر فوق الزر قبول.
سترى شاشة تشبه موجه الأوامر. إذا كانت لديك عبارة مرور للمفتاح الخاص، فأدخلها.
إذا تغير محتوى العرض كما هو موضح أدناه ، توصيله. يمكنك أن ترى أنه يتم عرض المستخدم على جانب الخادم ، وليس العميل. أثناء عرض هذه النافذة ، فهي متصلة ، لذا يرجى عدم إغلاقها. إذا قمت بإغلاقه ، قطع الاتصال.
قم بإجراء اتصال بسطح مكتب بعيد باستخدام SSH
الآن ، دعنا نجري اتصالا بسطح المكتب البعيد أثناء الاتصال ب SSH.
عند الاتصال ، لا يكون جزء الكمبيوتر هو العنوان البعيد الفعلي ، ولكن "localhost:< > اسم المنفذ المحدد في اتصال SSH". في المثال ، تم تحديد 13389 ، لذلك سنتصل هنا ب "localhost: 13389".
إذا تم عرض شاشة المصادقة ، فيمكنك الحكم على اكتمال الاتصال. أدخل اسم المستخدم وكلمة المرور للاتصال.
إذا تمكنت من الاتصال بهذه الطريقة ، فقد نجحت.
تعطيل اتصالات سطح المكتب البعيد العادية في إعدادات جدار الحماية
في وقت العنصر السابق ، يمكنك الآن الاتصال بسطح مكتب بعيد باستخدام SSH. ومع ذلك ، في هذه الحالة ، تمت إضافة "اتصال سطح المكتب البعيد بواسطة SSH" فقط إلى "اتصال سطح المكتب البعيد العادي". من حيث الأمان ، فإنه لا يضيف أي شيء. لذا فإن الشيء التالي الذي يجب فعله هو منع "اتصال سطح المكتب البعيد العادي".
إذا قمت بإجراء هذا الإعداد ، فلن تتمكن من الاتصال باستثناء "اتصال سطح المكتب البعيد بواسطة SSH" ، لذلك إذا عبثت بالإعدادات ، فقد لا يكون لديك وسيلة للاتصال عن بعد. لذلك ، تأكد من التحقق مسبقا من أن "اتصال سطح المكتب البعيد بواسطة SSH" ممكن ، وكن قادرا على تشغيل البيئة البعيدة بوسائل أخرى حتى إذا اختفى العميل الذي تحاول الاتصال به.
هنا ، قم بتكوين إعدادات جدار الحماية في "اتصال سطح المكتب البعيد عبر SSH". هذا لأنه إذا قمت بإجراء العملية باستخدام "اتصال سطح المكتب البعيد العادي" ، فصله في اللحظة التي تقوم فيها بتعيين جدار الحماية.
عرض جدار حماية Windows Defender مع أمان متقدم. اعتمادا على إصدار Windows ، سيختلف موقع الشاشة ، لذا يرجى عرضها وفقا لهذا الإصدار.
حدد القواعد الواردة من القائمة الموجودة على اليمين.
في القائمة الوسطى ، ابحث عن "سطح المكتب البعيد - وضع المستخدم (TCP In)" وافتح خصائصه.
حدد علامة التبويب النطاق، وقم بتغيير عنوان IP المحلي إلى عناوين IP هذه، وانقر فوق الزر إضافة.
أدخل 127.0.0.1 وانقر فوق OK . سيؤدي هذا إلى منع اتصالات سطح المكتب البعيد من أي مكان آخر غير 127.0.0.1. 127.0.0.1 هو عنوان IP الذي يشير إلى جهازك. إذا أدخلت قيمة خاطئة ، فقد لا تتمكن من الاتصال من أي مكان ، لذا كن حذرا.
انقر على OK زر للتأكيد.
في الوقت الحالي ، يعد هذا وحده إجراء مضادا ، ولكن دعنا أيضا نضبط "سطح المكتب البعيد - وضع المستخدم (UDP Receive)".
تحقق من أنه لا يمكنك الاتصال عن بعد بأي شيء آخر غير SSH
الآن ، حاول إجراء اتصال سطح مكتب بعيد من كمبيوتر آخر لا يستخدم SSH.
إذا كان بإمكانك الاتصال ، عرض شاشة المصادقة. لا بأس إذا كان بإمكانك تأكيد أنه لا يمكن إجراء الاتصال كما هو موضح أدناه.
ملخص
مع أحدث إصدار من Windows ، أصبح من السهل الآن تقديم خادم SSH. من خلال إضافة الإعدادات ، يمكنك الآن بسهولة زيادة أمان اتصال سطح المكتب البعيد. ومع ذلك ، نظرا لأنه مسؤول فقط عن الإجراءات الأمنية في Windows نفسه ، إذا كنت ترغب في جعله أكثر أمانا ، أعتقد أنه من الأفضل إعداد خادم SSH منفصل أو جدار حماية قبل الاتصال ب Windows.
أيضا ، يمكنك ضبط الأمان بإحكام باستخدام SSH ، ولكن عندما يكون الأمر صعبا للغاية ، لا يمكن لأحد الاتصال بسبب خطأ تشغيلي. احرص على ألا ينتهي بك الأمر بذلك.