مقدمة
للوصول الآمن إلى نسخة Hetzner من جهاز الكمبيوتر المحلي، يُنصح باستخدام مفتاح SSH. في هذا البرنامج التعليمي، سأرشدك إلى كيفية إعداد تسجيل دخول آمن باستخدام مفتاح SSH على نسخة Hetzner جديدة.
غالبًا ما تكون كلمات المرور ضعيفة جدًا. إذا زادت قوة كلمة المرور، يصبح تذكرها صعبًا للغاية، ويصبح استخدام مدير كلمات المرور أمرًا حتميًا. تستفيد مفاتيح SSH أيضًا من طولها، حيث يمكن أن يصل إلى 4096 بت. يمكنك أيضًا استخدام خوارزميات مختلفة مثل تشفير المنحنى الإهليلجي (ECC) باستخدام معيار ed25519، والذي سنستخدمه أيضًا في هذا البرنامج التعليمي.
المتطلبات الأساسية
- حساب Hetzner السحابي
- الأذونات اللازمة لإنشاء مشروع Hetzner ومثيل Hetzner
- تم تثبيت ssh-keygen وcat وnano على جهاز الكمبيوتر المحلي لديك
الخطوة 1 - إنشاء مفتاح SSH المحلي الخاص بك
يجب عليك إنشاء مفتاح SSH على جهازك المحلي. يُنصح بإضافة تعليق في النهاية لتحديد مفتاح SSH لاحقًا. قد تكون بعض المعلومات حول جهاز الكمبيوتر نفسه مفيدة. على سبيل المثال:
مفتاح SSH - ماك بوك برو ١٣ بوصة - [email protected]
ssh-keygen -t ed25519 -C "some comment here"
سيُطلب منك بعد ذلك اسم ملف مفتاح SSH وموقعه. لترك الاسم الافتراضي (ed25519) والموقع (/home/user/.ssh/)، ما عليك سوى الضغط على Enter. إذا كنت ترغب في تسمية الملف بحيث يمكنك التمييز بين مفاتيح متعددة لخوادم متعددة، يمكنك إدخال /home/user/.ssh/server01، مع استبدال user باسم المستخدم الخاص بك.
ثم عليك تعيين كلمة مرورك لزيادة أمان الخادم. هناك العديد من الدروس التعليمية على يوتيوب وعلى الإنترنت تتجاهل ببساطة إضافة عبارة مرور أو لا توصي بذلك. نوصي بشدة بتعيين عبارة مرور لإعداد خادم آمن. تحمي عبارة المرور هذه المفتاح الخاص، فلا يتمكن أي شخص من الوصول إلى الخادم حتى لو كان لديه حق الوصول إلى جهاز الكمبيوتر الخاص بك. يمكنك تكوين عميل SSH الخاص بك للتواصل مع keypass لتجنب الحاجة إلى إدخال كلمة المرور في كل مرة، ولكن انتبه إلى أن keypass عادةً ما يكون مُفعّلاً دائمًا، لذا فإن الوصول المباشر إلى جلسة تسجيل الدخول الخاصة بك لا يمنع الوصول غير المصرح به إلى الخادم في ذلك الوقت. ومع ذلك، فإن هذا يحمي أي شخص من نسخ الملف واستخدامه على جهاز كمبيوتر آخر. بشكل افتراضي، يُنشئ هذا الأمر مفتاحًا عامًا ومفتاحًا خاصًا باسم id_ed25519.pub وid_ed25519، ويُخزنان في المجلد ~/.ssh/. ملف id_ed25519.pub هو المفتاح العام الذي يحتاجه الخادم للتحقق من صحة المستخدم، وملف id_ed25519 هو مفتاحك الخاص الذي لا يمكن لأحد غيرك الوصول إليه، خاصة إذا تخطيت خطوة تعيين عبارة المرور.
الخطوة 2 - أضف مفتاح SSH إلى وحدة التحكم السحابية Hetzner
في هذه المرحلة، من المهم توضيح أن مفاتيح SSH غير مشتركة بين مشاريع Hetzner. هذا يعني أنه سيتعين عليك تكرار هذه الخطوة بنفس المفتاح أو بمفاتيح مختلفة لكل مشروع جديد.
- حدد مشروعًا أو قم بإنشاء مشروع جديد.
- في القائمة اليسرى لمشروعك، حدد عنصر قائمة الأمان.
- انقر فوق الزر إضافة مفتاح SSH.
- على جهازك المحلي، قم بتشغيل الأمر cat /home/user/.ssh/id_ed25519.pub لرؤية محتويات الملف أو فتحه في محرر.
- انسخ محتويات ملف id_ed25519.pub الخاص بك من جهازك المحلي إلى الحافظة عن طريق تحديد "الإخراج" واستخدام ctrl+shift+c.
- ضع مفتاح SSH في الحقل المخصص في حساب Hetzner الخاص بك
- أضف اسمًا لمفتاح SSH لتحديده في Hetzner Cloud Console أو اترك الاسم الذي تم إنشاؤه تلقائيًا استنادًا إلى اسم المفتاح.
- هذا كل شيء. مفتاح SSH هذا جاهز للاستخدام في كل مرة تُنشئ فيها نسخة جديدة لهذا المشروع.
الخطوة 3 - إنشاء مثيل Hetzner باستخدام مفتاح SSH المضاف في Cloud Console
- في القائمة اليسرى للمشروع حيث أضفت مفتاح SSH في الخطوة السابقة، حدد عنصر القائمة الخوادم.
- انقر فوق زر إضافة الخادم.
- اختر الموقع ونظام التشغيل والنوع والإعدادات الأخرى المطلوبة.
- في قسم مفتاح SSH، انقر على مفتاح SSH المقترح الذي أضفته في الخطوة السابقة. سيتم تمييز حقل المفتاح.
- قم بإنشاء العينة بالنقر فوق إنشاء وشراء.
الخطوة 4 - اختبار تسجيل الدخول باستخدام مفتاح SSH من جهاز الكمبيوتر المحلي لديك
- انسخ عنوان IP الخاص بمثيل Hetzner
- ابدأ بتسجيل الدخول إلى جهاز الكمبيوتر المحلي لديك. استبدل xxx.xxx.xxx.xxx بعنوان IP الخاص بنسخة Hetzner التي أنشأتها.
- اكتب نعم لإضافة بصمة الإصبع إلى ملف known_host.
- أدخل عبارة المرور التي قمت بتعيينها لمفتاح SSH.
- وهذا كل شيء. إذا رأيتَ رسالة ترحيب Ubuntu Hetzner النموذجية، فهذا يعني أن العملية كانت ناجحة.
الخطوة 5 - إضافة مفتاح SSH إلى خادم تم إنشاؤه مسبقًا
إذا قمت بإنشاء الخادم الخاص بك قبل إضافة مفتاح SSH، فلن تتمكن من تعيينه إلى الخادم الخاص بك من خلال Cloud Console.
من الأفضل تجربة هذا على خادم جديد أولًا لتجنب فقدان اتصال SSH ببيئة الإنتاج. بما أن هذا لا يستغرق سوى بضع دقائق، يمكنك تشغيل الخادم بسرعة وبتكلفة زهيدة في أسوأ الأحوال. لذا، أنشئ خادمًا جديدًا بدون مفاتيح SSH واتبع الخطوات التالية.
محتويات ملف المفتاح العام الخاص بك باستخدام:
cat /home/user/.ssh/id_ed25519.pub
حدد الإخراج باستخدام ctrl+shift+c
قم بتسجيل الدخول إلى الخادم الخاص بك باستخدام:
ssh root@server_ip
اكتب مفتاح الخادم:
- كمستخدم الجذر:
echo "keyfile_content" >> /root/.ssh/authorized_keys
- مثل أي مستخدم آخر:
echo "keyfile_content" >> /home/user/.ssh/authorized_keys
استبدل keyfile_content بمحتوى id_ed25519.pub الذي قمت بنسخه للتو. استبدل user باسم المستخدم
nano /etc/ssh/sshd_config
إذا قمت بالتثبيت، فيمكنك استبدال nano بمحرر المفضل لديك.
إذا كنت تريد تعطيل تسجيل الدخول بكلمة مرور، فابحث عن سطر يحتوي على PermitRootLogin وقم بتغييره بالضبط إلى:
PermitRootLogin prohibit-password
يؤدي هذا إلى تعطيل استخدام كلمات المرور غير الآمنة ويقبل مفاتيح SSH الخاصة بك فقط.
لإعادة تحميل خادم SSH الخاص بك لتنشيط الإعدادات الجديدة، قم بتشغيل:
systemctl restart sshd
اخرج من جلسة SSH وحاول الوصول إليها بدون كلمة مرور. إذا كنت قد أعددت كلمة مرور لحماية مفتاحك الخاص المحلي، فستظل بحاجة إلى إدخالها.
إذا اتبعت هذه الخطوات بعناية وكان كل شيء يعمل كما هو مخطط له، فيمكنك الآن متابعة العمل مع خادم الإنتاج وحذف خادم الاختبار مرة أخرى.
نتيجة
يمكنك الآن تسجيل الدخول إلى مثيل Hetzner الخاص بك بطريقة آمنة.









