Home Knowledge base Skyline Cloud كيفية إعداد مصادقة مفاتيح SSH على أوبونتو 22.04/24.04 KNOWLEDGE BASE

كيفية إعداد مصادقة مفاتيح SSH على أوبونتو 22.04/24.04

دليل دقيق خطوة بخطوة لإنشاء زوج مفاتيح SSH وتثبيته على خادمك وتعطيل تسجيل الدخول بكلمة المرور، لأمان أقوى وبدون كلمة مرور على خادم VPS من Skyline Cloud.

ما هي مصادقة مفاتيح SSH

تستبدل مصادقة مفاتيح SSH كلمة المرور التي تكتبها عند الاتصال بالخادم بـزوج مفاتيح تشفيري: مفتاح خاص يبقى على جهازك ومفتاح عام تضعه على الخادم. عند الاتصال، تتم مطابقة المفتاحين رياضيًا دون إرسال أي سرّ عبر الشبكة على الإطلاق. وهذه الطريقة أكثر راحة (لا توجد كلمة مرور تكتبها) وأكثر أمانًا بكثير من كلمة المرور التي يمكن تخمينها أو كسرها بالقوة الغاشمة.

هذا هو أول إجراء يجب القيام به بعد إطلاق خادم VPS أو خادم سحابي من Skyline Cloud. تستهدف الخطوات أدناه أوبونتو 22.04 LTS و24.04 LTS، لكنها تنطبق مع تعديلات طفيفة على معظم خوادم لينكس.

المتطلبات المسبقة

  • خادم يمكنك الوصول إليه بالفعل عبر SSH، بمستخدم لديه صلاحيات sudo. على خادم VPS جديد من Skyline Cloud يكون هذا عادةً root أو مستخدمًا أنشأته عند التزويد.
  • طرفية على جهازك: تطبيق Terminal على ماك أو لينكس، أو PowerShell / Windows Terminal على ويندوز 10/11 (يأتي OpenSSH مدمجًا).

الخطوة 1 — أنشئ زوج مفاتيح على جهازك المحلي

نفّذ هذا الأمر على جهازك أنت، وليس على الخادم:

ssh-keygen -t ed25519 -C "you@example.com"

نستخدم -t ed25519 لأن مفاتيح Ed25519 حديثة وسريعة وآمنة بطول مفتاح قصير. أما الخيار -C فيضيف تعليقًا فقط (بريدك الإلكتروني) لتتمكن من تمييز المفتاح لاحقًا. وإذا اضطررت إلى دعم نظام قديم لا يدعم Ed25519، فاستخدم مفتاح RSA قويًا بدلًا منه:

ssh-keygen -t rsa -b 4096 -C "you@example.com"

اضغط Enter لقبول موقع الملف الافتراضي (~/.ssh/id_ed25519). وعند طلب عبارة المرور، عيّن عبارة قوية. تشفّر عبارة المرور مفتاحك الخاص على القرص، بحيث لا يمنح حاسوب محمول مسروق صلاحية الوصول إلى الخادم. ولن تكتبها سوى مرة واحدة في كل جلسة إذا استخدمت وكيلًا (الخطوة 5).

ينشئ هذا ملفين:

الملف الدور هل تشاركه؟
~/.ssh/id_ed25519 المفتاح الخاص لا تشاركه أبدًا
~/.ssh/id_ed25519.pub المفتاح العام آمن لنسخه إلى الخوادم

الخطوة 2 — انسخ المفتاح العام إلى خادمك

أسهل طريقة هي ssh-copy-id، الذي يُلحق مفتاحك العام بملف ~/.ssh/authorized_keys على الخادم ويضبط الأذونات نيابةً عنك:

ssh-copy-id -i ~/.ssh/id_ed25519.pub user@your_server_ip

سيُطلب منك إدخال كلمة المرور للمرة الأخيرة. استبدل user باسم مستخدم الخادم لديك (مثل root أو ubuntu) وyour_server_ip بعنوان IP الخاص بخادم VPS.

إذا لم يكن ssh-copy-id متاحًا

على ويندوز، أو إذا كانت الأداة غير موجودة، ثبّت المفتاح يدويًا. اعرض المفتاح العام:

cat ~/.ssh/id_ed25519.pub

انسخ السطر الوحيد من المخرجات، وسجّل الدخول إلى الخادم بكلمة مرورك، ونفّذ:

mkdir -p ~/.ssh && chmod 700 ~/.ssh
echo "ssh-ed25519 AAAA... you@example.com" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

ضع سطر مفتاحك الخاص بدلًا من سطر المثال. الأذونات الصحيحة مهمة: يتجاهل SSH ملف authorized_keys إذا كان الملف أو مجلد ~/.ssh مفتوحًا أكثر من اللازم.

الخطوة 3 — اختبر تسجيل الدخول بالمفتاح

افتح طرفية جديدة واتصل:

ssh user@your_server_ip

إذا عيّنت عبارة مرور، فسيطلبها نظامك (وليست كلمة مرور الخادم). يجب أن تصل إلى موجّه أوامر الخادم. أبقِ هذه الجلسة مفتوحة أثناء تنفيذ الخطوة التالية، حتى لا يحبسك خطأ ما خارج الخادم.

الخطوة 4 — عطّل المصادقة بكلمة المرور

بمجرد نجاح الدخول بالمفتاح، أوقف كلمات المرور لتصبح محاولات القوة الغاشمة عديمة الجدوى. على الخادم، حرّر ملف إعدادات خدمة SSH:

sudo nano /etc/ssh/sshd_config

ابحث عن هذين السطرين واضبطهما (مع إزالة أي علامة # في البداية):

PasswordAuthentication no
PubkeyAuthentication yes

على أوبونتو 22.04/24.04، تحقق أيضًا من مجلد الإضافات /etc/ssh/sshd_config.d/ — فقد يتجاوز ملف موجود فيه (مثل 50-cloud-init.conf) الملف الرئيسي. تأكد من ألا يضبط أي ملف القيمة PasswordAuthentication yes:

sudo grep -r PasswordAuthentication /etc/ssh/sshd_config /etc/ssh/sshd_config.d/

ثم تحقق من صحة الإعداد وأعد تحميل الخدمة:

sudo sshd -t
sudo systemctl restart ssh

اسم الخدمة على أوبونتو هو ssh (أي ssh.service). فإذا أفاد الأمر restart ssh بعدم وجود مثل هذه الوحدة، فاستخدم sudo systemctl restart sshd.

الآن افتح طرفية جديدة أخرى وتأكد من أنك ما زلت قادرًا على تسجيل الدخول بمفتاحك. لا تغلق جلستك الأصلية إلا بعد نجاح الجلسة الجديدة.

الخطوة 5 — استخدم وكيل SSH (اختياري لكنه مُوصى به)

حتى لا تعيد كتابة عبارة المرور في كل اتصال، حمّل المفتاح إلى الوكيل مرة واحدة في كل جلسة:

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

على ماك، خزّنه في سلسلة المفاتيح (Keychain) ليبقى محفوظًا بعد إعادة التشغيل:

ssh-add --apple-use-keychain ~/.ssh/id_ed25519

الخطوة 6 — ملف إعداد SSH مرتب (اختياري)

أضف مدخلًا إلى ملف ~/.ssh/config على جهازك المحلي لتتمكن من الاتصال باسم مستعار قصير:

Host skyline-vps
    HostName your_server_ip
    User ubuntu
    IdentityFile ~/.ssh/id_ed25519

الآن يكفيك الأمر ssh skyline-vps.

حل المشكلات

  • ما زال يُطلب منك كلمة مرور بعد الخطوة 2. الأذونات غير صحيحة. على الخادم نفّذ chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys، وتحقق من أن الملف مملوك لمستخدمك.
  • Permission denied (publickey). الخادم لا يعرض مفتاحك، أو نسخته إلى مجلد المنزل الخاص بمستخدم خاطئ. أضف -v لرؤية ما يحاوله SSH: ssh -v user@your_server_ip.
  • حُبست خارج الخادم بعد تعطيل كلمات المرور. استخدم وحدة تحكم المزوّد (وحدة VNC أو التسلسلية عبر الويب في لوحة التحكم) لتسجيل الدخول وإعادة تفعيل PasswordAuthentication مؤقتًا.

شغّله على VPS مُدار داخل المملكة

تحمي مفاتيح SSH الاتصال، لكن الخادم نفسه لا يزال بحاجة إلى التحديثات والنسخ الاحتياطي والمراقبة. على خادم VPS أو خادم سحابي من Skyline Cloud تحصل على بنية تحتية مستضافة داخل المملكة العربية السعودية لتلبية متطلبات إقامة البيانات الخاصة بنظام حماية البيانات الشخصية (PDPL) والهيئة الوطنية للأمن السيبراني (NCA) وسدايا (SDAIA)، مع دعم عربي محلي وخيارات مُدارة تتولى تحصين نظام التشغيل والنسخ الاحتياطي السحابي نيابةً عنك. اقرنه بـاستضافة البريد الإلكتروني للأعمال على المنصة ذاتها داخل المملكة، لتبقى منظومتك بالكامل متوافقة.

جاهز لنشر خادم آمن في دقائق؟ أنشئ حسابك على Skyline Cloud وأطلق خادم VPS اليوم.

SKYLINE Engineering

@skyline

The engineering team at SKYLINE Industrial Solutions. We publish field-tested guides drawn from real KSA and GCC deployments.

See author profile
SKYLINE engineering services

Need this implemented for you?

Reading is free — building it right takes a team. SKYLINE engineers ship Skyline Cloud for Aramco vendors, banks, hospitals and government agencies across Saudi Arabia. Talk to us before you start.

Aramco Approved Contractor ISO 9001 · ISO 27001 SAMA CSF aligned NCA ECC ready 247+ KSA clients

Comments

0 total · 0 threads
Be the first to leave a comment.