مقدمة
يتيح استخدام بروتوكول SSH إنشاء قناة آمنة عبر شبكة غير آمنة في بنية خادم-عميل، ما يربط عميل SSH بخادم SSH. يتيح لك إنشاء مجموعة مفاتيح SSH الحصول على مفتاح عام ومفتاح خاص. يمكنك وضع المفتاح العام على خادم، ثم الاتصال به باستخدام عميل لديه المفتاح الخاص المقابل. في حال تطابق مفتاحي SSH العام والخاص، سيتم تسجيل دخولك بدون كلمة مرور.
هذه هي عمومًا الطريقة الأكثر أمانًا وراحة للاتصال.
يوضح هذا الدليل كيفية تكوين مفاتيح SSH على جهازك المحلي لإجراء اتصالات آمنة بالخوادم البعيدة.
المتطلبات الأساسية
- الوصول إلى لوحة التحكم OVHcloud
- خادم مخصص أو VPS على حساب OVHcloud الخاص بك
- برنامج عميل SSH (سطر الأوامر أو واجهة المستخدم الرسومية)
- الوصول الإداري (sudo) عبر SSH إلى الخادم الخاص بك
لا ينطبق هذا الدليل على تثبيتات Windows Server القياسية، إذ تعتمد على بروتوكول سطح المكتب البعيد (RDP) للاتصالات. تُستخدم اتصالات SSH لوضع إنقاذ OVHcloud. يمكنك العثور على مزيد من المعلومات في قسم "انتقل إلى المزيد" من هذا الدليل.
إنشاء زوج مفاتيح SSH
تتناول الإرشادات التالية طريقتين لاستخدام مفاتيح SSH:
- إنشاء زوج مفاتيح Open SSH والاتصال بالخادم من عميل سطر أوامر SSH
- إنشاء زوج مفاتيح PuTTY والاتصال بالخادم من عميل PuTTY SSH
يمكنك استخدام الطريقتين معًا، ولكن تذكّر أن PuTTY يحفظ ملفات المفاتيح بتنسيق معين يجعلها غير متوافقة مع ملفات مفاتيح SSH المُنشأة باستخدام عميل Open SSH. هذا يعني أنه يجب تحويل المفتاح الخاص المُنشأ باستخدام عميل سطر أوامر SSH إلى تنسيق PuTTY أولًا، والعكس صحيح.
إنشاء زوج مفاتيح SSH من سطر الأوامر
من جهاز كمبيوتر Mac أو جهاز مثبت عليه نظام التشغيل Linux، افتح تطبيق سطر الأوامر (Terminal).
تأكد من وجود مجلد باسم .ssh في مجلد $HOME. إذا لم يكن المجلد موجودًا، فأنشئه:
mkdir ~/.ssh
في نظام التشغيل Windows الحالي، افتح موجه الأوامر عن طريق كتابة "cmd" في شريط البحث (أو افتح PowerShell من القائمة).
انتقل إلى دليل .ssh لمستخدم Windows النشط لديك (افتراضيًا: C:\Users\WindowsUsername\.ssh):
cd .sshلتوليد مفتاح RSA 4096 بت، استخدم الأمر التالي:
ssh-keygen -b 4096
يتيح لك استخدام الخيار -t مع هذا الأمر تحديد طريقة تشفير مختلفة، على سبيل المثال:
ssh-keygen -t ed25519 -a 256
سيطلب منك سطر الأوامر حفظ المفتاح الذي تم إنشاؤه حديثًا في الملف القياسي:
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):يمكنك التأكيد بالضغط على Enter لقبول اسم الملف المقترح أو إدخال اسم فردي. هذا مهم إذا تم وضع أكثر من زوج مفاتيح في مجلد .ssh. يمكنك العثور على مزيد من المعلومات حول هذا الموضوع في قسم إدارة مفاتيح SSH المتعددة.
يستخدم هذا المثال أسماء الملفات القياسية id_rsa و id_rsa.pub.
في النافذة التالية، يمكنك حماية مفتاح SSH الخاص بك باستخدام عبارة مرور. يُنصح بذلك لمزيد من الأمان.
الوصول عن بُعد إلى خادمك آمنٌ بقدر أمان جهاز العميل الذي يُخزّن المفتاح الخاص. لذا، عند استخدام مفاتيح SSH، من الضروري حماية جهازك وملفاتك من الوصول غير المصرّح به.
لأغراض الراحة والأمان، استخدم مدير كلمات المرور على جهازك، مثل الحل مفتوح المصدر KeePass.
يجب تخزين جميع مفاتيح SSH في مجلد .ssh. يجب أن يكون اسم ملفات المفاتيح العامة .pub.
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:MRk+Y0zCOoOkferhkTvMpcMsYspj212lK7sEauNap user@hostname
The key's randomart image is:
+---[RSA 4096]----+
| .. o |
| . .= o |
| o o X |
|. . . . |
|. .=.o .S. |
| =o.o. . . |
|o + . . o .. |
|.. . . oEoo . |
|o. .o+oo |
+----[SHA256]-----+لعرض مفتاحك العام وتصديره، استخدم أمر cat في ملف pub.key. انسخ سلسلة المفاتيح كاملةً إلى الحافظة لإضافتها إلى خادمك لاحقًا.
cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8teh2NJ42qYZV98gTNhumO1b6rMYIkAfRVazl
k6dSS3xf2MXJ4YHsDacdjtJ+evXCFBy/IWgdkFtcvsGAMZ2N1RdvhDyQYcy6NDaJCBYw1K6Gv5fJ
SHCiFXvMF0MRRUSMneYlidxUJg9eDvdygny4xOdC6c1JrPrSgOc2nQuKeMpOoOWLINIswg1IIFVk
kFMPrFivP8Z6tidzVpAtbr1sXmJGZazYWrU3FoK2a1sF1zEWrmlMOzX81zEWrmlMOzX8CpZW8Rae
i4ANmLy7NULWK36yU0Rp9bFJ4o0/4PTkZiDCsK0QyHhAJXdLN7ZHpfJtHIPCnexmwIMLfIhCWhO5
user@hostnameفي نافذة الأوامر في نظام MacOS، يمكنك استخدام الأمرين pbcopy وpbpaste لإدارة سلاسل المفاتيح بشكل أسرع. على سبيل المثال، استخدم هذا الأمر لنسخ المفتاح من ملف id_rsa.pub إلى الحافظة:
pbcopy < ~/.ssh/id_rsa.pub
في نظام التشغيل Windows، يمكنك فتح الملف باستخدام Notepad من مستكشف الملفات (انقر بزر الماوس الأيمن فوق الملف وحدد فتح باستخدام) أو استخدام أحد الأوامر التالية (في \Users\WindowsUsername\.ssh):
أمر
more id_rsa.pub
باورشيل
cat id_rsa.pub
انسخ سلسلة المفاتيح الكاملة إلى الحافظة لإضافتها إلى الخادم الخاص بك لاحقًا.
استخدام الحافظة
عند العمل من موجه أوامر ويندوز، انقر بزر الماوس الأيمن للصق محتويات الحافظة في نافذة موجه الأوامر. لنسخ نص من نافذة موجه الأوامر، حدده، ثم اضغط على مفتاح الإدخال (Enter). يمكنك أيضًا الوصول إلى هذه الوظائف بالنقر بزر الماوس الأيمن على شريط القوائم.
إنشاء زوج مفاتيح SSH باستخدام PuTTY
PuTTY هو برنامج عميل SSH مفتوح المصدر بواجهة مستخدم رسومية، متوفر لنظام ويندوز وأنظمة التشغيل الأخرى. يوفر البرنامج برنامجًا مصاحبًا لتوليد مفاتيح SSH: PuTTY Key Generator (PuTTYgen).
الغرض الرئيسي من PuTTY هو إدارة اتصالات SSH من جهاز عميل ويندوز إلى خادم جنو/لينكس. يخزن PuTTY ملفات المفاتيح بتنسيق معين يجعلها غير متوافقة مع ملفات مفاتيح SSH المُنشأة باستخدام عميل Open SSH المتوفر أصلاً في معظم أنظمة التشغيل الحديثة.
عند الحاجة، يمكن تحويل المفاتيح المُولَّدة من سطر الأوامر، كما هو موضح أعلاه، إلى صيغة PPK لاستخدامها مع عميل PuTTY. لاستخدام مفاتيح SSH بأقصى قدر من الراحة، اختر أحد الخيارين (مفاتيح SSH الخاصة أو مفاتيح PuTTY الخاصة) والتزم به.
إذا لم يكن مثبتًا بالفعل (راجع قائمة البرامج أو استخدم خاصية البحث)، نزّل PuTTY من الموقع الرسمي. تتضمن حزمة التثبيت القياسية الموصى بها PuTTYgen، وهو متوفر أيضًا كملف مستقل على الموقع.
افتح PuTTYgen وحدد خوارزمية تشفير مدعومة. يستخدم هذا المثال RSA. أدخل 4096 كعدد البتات في الزاوية اليمنى السفلية، ثم انقر على زر "إنشاء".
حرك مؤشر الماوس بحرية في المنطقة الموجودة أسفل شريط التقدم:
عندما يمتلئ شريط التقدم، يكون المفتاح جاهزًا.
انسخ سلسلة المفاتيح كاملةً إلى الحافظة لإضافتها إلى خادمك. احفظ المفتاحين كملفين بالنقر على الأزرار المقابلة، وأدخل كلمة مرور لحمايتهما.
الوصول عن بُعد إلى خادمك آمنٌ بقدر أمان جهاز العميل الذي يُخزّن المفتاح الخاص. لذا، عند استخدام مفاتيح SSH، من الضروري حماية جهازك وملفاتك من الوصول غير المصرّح به.
لأغراض الراحة والأمان، استخدم مدير كلمات المرور على جهازك، مثل الحل مفتوح المصدر KeePass.
من مزايا استخدام PuTTY إمكانية حفظ اتصالات متعددة كجلسات. للمزيد من المعلومات، يُرجى الاطلاع أدناه على قسم "إدارة مفاتيح SSH متعددة على جهازك المحلي".
يمكنك معرفة المزيد حول اتصالات SSH في أدلة البدء الخاصة بنا وفي مقدمة SSH.
إضافة مفاتيح SSH إلى الخادم الخاص بك
نقل المفاتيح العامة التي تم إنشاؤها على أنظمة تعتمد على GNU/Linux أو MacOS أو BSD
إذا قمت بإنشاء أزواج مفاتيح SSH الخاصة بك على نظام GNU/Linux أو MacOS أو BSD، فيمكنك استخدام الأمر ssh-copy-id لإضافة المفاتيح العامة إلى الخادم الخاص بك.
تقوم أداة ssh-copy-id بنسخ المفاتيح العامة إلى الملف ~/.ssh/authorized_keys على الخادم البعيد المحدد، وإنشاء الملف تلقائيًا في هذا الدليل إذا لزم الأمر.
ssh-copy-id user@IP_ADDRESSافتراضيًا، سيحاول الأمر ssh-copy-id نقل جميع المفاتيح العامة إلى مجلد ~/.ssh الخاص بمستخدمك المحلي. لإضافة مفتاح عام، يمكنك تحديد ملف المفتاح هذا باستخدام الخيار -i متبوعًا بمسار الملف:
ssh-copy-id -i ~/.ssh/KeyFileName user@IP_ADDRESS
مثال:
ssh-copy-id -i ~/.ssh/VPS_rsa.pub [email protected]
سيُطلب منك إدخال كلمة مرور المستخدم. في حال نجاح العملية، ستتلقى رسالة مشابهة للصورة أدناه.
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'user@server-ip'"
and check to make sure that only the key(s) you wanted were added.إذا تلقيت رسالة خطأ بدلاً من ذلك، فيمكنك دائمًا إضافة مفاتيحك العامة يدويًا باتباع الخطوات الموضحة أدناه.
كأفضل ممارسة ولأسباب أمنية، يُنصح بعدم استخدام زوج المفاتيح نفسه من قِبل عدة مستخدمين. بما أن لكل مستخدم على أنظمة جنو/لينكس ملف مفاتيح مُصرّح به خاص به في ~/.ssh/، يمكنك استخدام أمر ssh-copy-id كما هو موضح أعلاه ومطابقة اسم ملف المفتاح والمستخدم بعد إنشاء زوج المفاتيح.
إضافة المفاتيح العامة إلى الخادم يدويًا
اتصل بخادمك وتأكد من وجودك في مجلد $HOME الخاص بمستخدمك. أنشئ مجلد .ssh (إن لم يكن موجودًا):
mkdir ~/.ssh
لتخزين المفتاح للمستخدم الحالي، افتح (أو أنشئ) ملف author_keys باستخدام محرر النصوص المفضل لديك (يتم استخدام nano في هذا المثال):
nano ~/.ssh/authorized_keys
ضع مفتاحك العام في هذا الملف. احفظ الملف واخرج من المحرر. أعد تشغيل الخادم (sudo reboot) أو أعد تشغيل خدمة OpenSSH باستخدام أحد الأوامر التالية (قد يختلف الأمر المناسب باختلاف نظام التشغيل لديك):
sudo systemctl restart ssh
sudo systemctl restart sshd
لضمان إعداد مفتاحك بشكل صحيح، اتصل بخادمك باستخدام الأمر التالي. استبدل "user" باسم المستخدم الذي أُنشئت له المفاتيح، و"IP_ADDRESS" بعنوان IP (أو اسم المضيف) للخادم الذي تريد الوصول إليه:
ssh user@IP_ADDRESS
مثال:
إضافة مفاتيح عامة إضافية إلى الخادم الخاص بك
لإضافة مفاتيح SSH لمستخدمين آخرين يمكنهم الوصول إلى خادمك، كرر خطوات إنشاء المفتاح، ولكن استخدم مجلد $HOME المناسب أو دليل مستخدمي Windows للمستخدم المقصود لإنشاء مفاتيح SSH وتخزينها (أو تشغيل الأوامر على جهازه المخصص). ثم أضف المفتاح العام الجديد إلى الخادم كما هو موضح أعلاه في ملف author_keys.
إزالة المفاتيح العامة من الخادم الخاص بك
افتح ملف authoritative_keys كما هو موضح أعلاه واحذف سلسلة المفاتيح للمستخدم الذي تم إلغاء وصوله.
احفظ الملف ثم اخرج من المحرر.
إدارة مفاتيح SSH المتعددة على جهازك المحلي
قد ترغب في استخدام عدة أزواج مفاتيح SSH للاتصال بمضيفين بعيدين مختلفين. (إذا كنت تستخدم PuTTY، فانتقل إلى القسم ذي الصلة أدناه.)
بما أنه يجب وضع جميع المفاتيح في مجلد .ssh على جهازك المحلي، يجب أن تكون أسماء الملفات مختلفة. عند إنشاء زوج مفاتيح جديد، يُطلب منك إدخال اسم ملف، فأدخل الاسم الذي تريده. على سبيل المثال، طابقه مع اسم خادمك.
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa): KeyFileName_rsa
Your identification has been saved in /home/user/.ssh/KeyFileName_rsa.
Your public key has been saved in /home/user/.ssh/KeyFileName_rsa.pub.عند الاتصال بالخادم ذي الصلة، بالإضافة إلى تفاصيل المستخدم والخادم، حدد اسم ملف المفتاح:
ssh -i ~/.ssh/KeyFileName user@IP_ADDRESS
مثال:
ssh -i ~/.ssh/myVPS_rsa [email protected]
كما ذُكر في الأقسام السابقة، تعمل نفس التعليمات على عميل ويندوز. ما عليك سوى استبدال ~/ بمسار مجلد مستخدم ويندوز، افتراضيًا C:\Users\WindowsUsername\. (مثال: ssh -i C:\Users\Username\.ssh/myVPS_rsa [email protected])
استخدام ملف “config”.
بديل لإضافة الخيار -i في كل مرة تُعدّل فيها ملفًا باسم config داخل مجلد ~/.ssh (\Users\Username\.ssh لنظام Windows). يمكنك استخدامه لتكوين تفاصيل اتصالات مختلفة (اسم المستخدم، المنفذ، ملف المفتاح، المعلمات الاختيارية، إلخ).
إذا كان هذا الملف موجودًا داخل .ssh، فمن المرجح أنه يحتوي على معلومات بالفعل. بناءً على بيئتك، أنشئ أولًا نسخة احتياطية من الملف الأصلي.
مثال على محتويات المجلد .ssh:
ls ~/.ssh/
config id_rsa id_rsa.pub known_hosts known_hosts.old
باستخدام ملف التكوين، يُمكن تخزين اتصالات SSH متعددة مع معلماتها الفردية، بالإضافة إلى القيم القياسية. قد يكون استخدام الإمكانات الكاملة لهذا الملف صعبًا، نظرًا لفوائده الكبيرة للمستخدمين ذوي الخبرة الذين يديرون خوادم متعددة بانتظام.
فيما يلي مثال بسيط لشرح كيفية تكوين اتصال SSH مع VPS.
افتح الملف وأضف الأسطر التالية في الأعلى:
Host vps
HostName 203.0.113.100
IdentityFile ~/.ssh/myVPS_rsaيمكنك بعد ذلك الاتصال بـ VPS باستخدام الاسم المستعار الذي حددته كمضيف:
ssh ubuntu@vps
تم تحديد عنوان IP الخاص بالخادم وملف المفتاح فقط في المثال السابق، ولكن يمكن إضافة المزيد من التفاصيل. لتكوين اتصال SSH بالخادم الثاني باستخدام اسم المستخدم "rocky"، ومنفذ SSH المُغيّر "49160"، والمفتاح الخاص في ملف "myserver_rsa"، وسّع محتويات الملف كما هو موضح في هذا المثال:
Host vps
HostName 203.0.113.100
IdentityFile ~/.ssh/myVPS_rsa
Host dedicated_server
HostName 203.0.113.101
User rocky
Port 49160
IdentityFile ~/.ssh/myserver_rsaيمكنك بعد ذلك الاتصال بهذا الخادم عن طريق إدخال ما يلي:
ssh dedicated_serverلمزيد من المعلومات، يمكنك قراءة صفحة الدليل ذات الصلة.
استخدام PuTTY
إذا اتبعت الإرشادات الموجودة في قسم إنشاء زوج مفاتيح SSH باستخدام PuTTY وإضافة مفاتيح SSH إلى الخادم لديك، فسيكون لديك زوج مفاتيح يمكنك استخدامه للاتصال بالخادم لديك.
يخزن PuTTY بيانات اعتماد ومعلمات اتصال SSH كجلسة. كما يتيح لك الاتصال بخوادم مختلفة باستخدام مفاتيح منفصلة.
افتح PuTTY وقم بتوسيع القسم الفرعي SSH في القائمة اليسرى، ثم انقر فوق Auth and Credentials (المصادقة وبيانات الاعتماد).
انقر فوق زر الاستعراض وحدد ملف المفتاح الخاص PuTTY (keyfile.ppk) من المجلد الذي قمت بحفظه فيه.
تم الآن ربط ملف المفتاح بجلسة SSH الحالية. انتقل إلى "الجلسة" في القائمة اليسرى وأدخل بيانات تسجيل الدخول الخاصة بك للخادم (اسم المستخدم@عنوان IPv4).
أدخل اسمًا لهذا الاتصال في حقل الجلسات المحفوظة وانقر فوق حفظ لإضافته إلى القائمة.
من الآن فصاعدًا، يمكنك النقر على عنصر الجلسة هذا وفتح اتصال بخادمك. انقر على "فتح" لاختباره. إذا كنت قد حميت ملف المفتاح بعبارة مرور، فستحتاج إلى إدخالها في هذه المرحلة.
لتكوين اتصال خادم آخر، كرر الخطوات التالية:
- إنشاء زوج المفاتيح.
- أضف المفتاح العام إلى خادمك.
- أدخل تفاصيل الخادم وأضف ملف المفتاح في PuTTY.














