إذا كنت تدير خادم Linux، فأنت تعرف مدى صعوبة إدخال كلمة المرور الخاصة بك في كل مرة تقوم فيها بتسجيل الدخول عبر SSH أو نسخ الملفات باستخدام scp. يقدم هذا البرنامج التعليمي استخدام مفتاح SSH لتحقيق تسجيل دخول SSH بدون كلمة مرور، وليست هناك حاجة لإدخال كلمة مرور عند استخدام scp لنسخ الملفات. بالإضافة إلى تسهيل تسجيل الدخول إلى SSH ونسخ ملفات SCP، يضيف تسجيل الدخول إلى SSH بدون كلمة مرور أيضًا خطًا آخر من الأمان إلى خادم Linux.

خطوات إعداد تسجيل الدخول بدون كلمة مرور SSH

  1. أولاً، نقوم بإنشاء زوج من مفاتيح SSH على نظام Linux الخاص بنا: مفتاح SSH ومفتاح SSH العام. يتم الاحتفاظ بالمفتاح على نظام Linux الخاص به.
  2. ثم يتم تحميل المفتاح العام إلى خادم Linux. بعد ذلك يمكننا تسجيل الدخول عبر SSH بدون كلمة مرور. يشبه مفتاح SSH إثبات هويتك.

1 قم بإنشاء مفاتيح SSH والمفاتيح العامة على نظام Linux الخاص بك

افتح محطة واستخدم ssh-keygen أدناه لإنشاء مفتاح RSA والمفتاح العام. يشير -t إلى النوع، وهو ما يعني إنشاء مفتاح تشفير RSA.

ssh-keygen -t rsa

RSA هو أيضًا نوع التشفير الافتراضي. لذلك يمكنك أيضًا إدخال ssh-keygen. طول RSA الافتراضي هو 2048 بت. إذا كنت شديد الوعي بالأمان، فيمكنك تحديد طول 4096 بت.

ssh-keygen -b 4096 -t rsa

أثناء عملية إنشاء مفتاح SSH، سيُطلب منك تحديد ملف لحفظ المفتاح، فقط اضغط على Enter لاستخدام الملف الافتراضي. ثم تحتاج إلى إدخال كلمة مرور لتشفير مفتاح SSH الخاص بك. يجب أن تتكون كلمة المرور من 20 حرفًا على الأقل. سيتم حفظ مفتاح SSH في الملف .ssh/id_rsa في الدليل الرئيسي. يتم حفظ مفتاح SSH العام في الملف .ssh/id_rsa.pub.

Generating public/private rsa key pair.
Enter file in which to save the key (/home/matrix/.ssh/id_rsa):  按Enter键
Enter passphrase (empty for no passphrase):   输入一个密码
Enter same passphrase again:   再次输入密码
Your identification has been saved in /home/matrix/.ssh/id_rsa.
Your public key has been saved in /home/matrix/.ssh/id_rsa.pub.
The key fingerprint is:
e1:dc:ab:ae:b6:19:b0:19:74:d5:fe:57:3f:32:b4:d0 matrix@vivid
The key's randomart image is:
+---[RSA 4096]----+
| .. |
| . . |
| . . .. . |
| . . o o.. E .|
| o S ..o ...|
| = ..+...|
| o . . .o .|
| .o . |
| .++o |
+-----------------+

إذا نظرت إلى الملف .ssh/id_rsa، فسترى أن هذا الملف مشفر. أي أنها مشفرة بكلمة المرور التي أدخلتها.

less .ssh/id_rsa

 

2 قم بتحميل مفتاح SSH العام إلى خادم Linux

ويمكن القيام بذلك باستخدام الأمر ssh-copy-id.

ssh-copy-id username@remote-server

 

بعد إدخال كلمة المرور للمستخدم البعيد، سيتم تحميل مفتاح SSH العام تلقائيًا. يتم تخزين مفتاح SSH العام في الملف .ssh/authorized_keys على خادم Linux البعيد.

بعد اكتمال التحميل، لن تحتاج إلى إدخال كلمة المرور مرة أخرى لتسجيل الدخول إلى SSH. ومع ذلك، عند استخدام مفتاح SSH لتسجيل الدخول لأول مرة، فإنك تحتاج إلى إدخال كلمة مرور التشفير لمفتاح SSH مرة واحدة. (تحتاج إلى إدخاله مرة واحدة فقط، وسيتم تسجيل دخولك تلقائيًا في المستقبل. ولن تحتاج بعد الآن إلى إدخال كلمة المرور للمفتاح.)

ليست هناك حاجة لإدخال كلمة مرور عند استخدام الأمر scp لنقل الملفات.

معرفة مفتاح SSH

يحتوي نظام Linux على برنامج لإدارة المفاتيح. حلقة المفاتيح محمية بكلمة مرور تسجيل الدخول الخاصة بالمستخدم. عند تسجيل الدخول إلى نظام Linux، سيتم إلغاء قفل كلمة مرور حلقة المفاتيح تلقائيًا، مما يسمح لك بالوصول إلى حلقة المفاتيح. يمكن أيضًا تخزين كلمات المرور الخاصة بمفاتيح SSH في حلقة المفاتيح. ولذلك، عند استخدام مفتاح SSH لتسجيل الدخول إلى خادم Linux بعيد لأول مرة، فإنك تحتاج إلى إدخال كلمة مرور مفتاح SSH مرة واحدة. في المستقبل، لن تحتاج بعد الآن إلى إدخال كلمة المرور عند تسجيل الدخول باستخدام مفتاح SSH. برنامج keyring لأوبونتو هو فرس البحر.

يشبه مفتاح SSH إثبات هويتك. يستخدم خادم Linux البعيد مفتاح SSH العام الذي قمت بإنشائه لتشفير رسالة، ويمكن لمفتاح SSH فقط فك تشفير الرسالة. لذلك، إذا لم يكن لدى الآخرين مفتاح SSH الخاص بك، فلن يتمكنوا من فك تشفير الرسالة المشفرة، وبالتالي لن يتمكنوا من تسجيل الدخول إلى خادم Linux الخاص بك.

يعد إعداد تسجيل الدخول بدون كلمة مرور SSH بهذه البساطة.

اترك رد