٤، ٣، توليد مفتاح SSH عمومي لك
العديد من خواديم جت تستوثق المستخدمين بمفاتيح SSH العمومية.
فعلى كل مستخدم توليد مفتاح إن لم يكن لديه مفتاح فعلا.
تتشابه هذه العملية عبر أنظمة التشغيل المختلفة.
أولا عليك التحقق أنك لا تملك مفتاحًا فعلا.
المكان المبدئي لتخزين مفاتيح SSH الخاصة بالمستخدم هو مجلد ~/.ssh.
فانظر فيه لتعرف إذا كان لديك مفتاحٌ فعلا:
$ cd ~/.ssh
$ ls
authorized_keys2 id_dsa known_hosts
config id_dsa.pub
عليك البحث عن ملفين اسم أحدهما يشبه id_dsa أو id_rsa، والآخر هو الاسم نفسه لكن بالامتداد .pub.
فملف .pub هو مفتاحك العمومي، والملف الآخر هو نظيره الخصوصي.
وإذا لم يكن لديك هذين الملفين (أو لم يكن لديك مجلد .ssh من الأساس)، فيمكنك إنشاءهما بتشغيل برنامج يسمى ssh-keygen («مولِّد مفاتيح SSH»)، الذي يأتي مع حزمة SSH على أنظمة لينكس وماك أو إس ومع Git for Windows على ويندوز:
$ ssh-keygen -o
Generating public/private rsa key pair.
Enter file in which to save the key (/home/schacon/.ssh/id_rsa):
Created directory '/home/schacon/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/schacon/.ssh/id_rsa.
Your public key has been saved in /home/schacon/.ssh/id_rsa.pub.
The key fingerprint is:
d0:82:24:8e:d7:f1:bb:9b:33:53:96:93:49:da:9b:e3 schacon@mylaptop.local
هو أولا يتحقق المكان الذي تريد حفظ المفتاح فيه (.ssh/id_rsa)، ثم يطلب مرتين إدخال عبارة المرور (passphrase)، ويمكنك تركها فارغة إذا لم تشأ إدخال عبارة مرور عند استعمال المفتاح.
أما إذا أردتها، فعليك إضافة الخيار -o؛ فهو يحفظ المفتاح الخصوصي بصيغة أقوى من الصيغة المبدئية في مقاومة كسر عبارات المرور بالقوة العمياء.
ويمكنك أيضا استخدام أداة ssh-agent («عميل SSH») لمنع الحاجة إلى إدخال عبارة المرور في كل مرة.
الآن، على كل مستخدم فَعَلَ هذا أن يرسل مفتاحه العمومي إليك أو إلى من يدير خادوم جت (بفرض أنك أعدت خادوم SSH ليستعمل المفاتيح العمومية).
وليس عليهم سوى نسخ محتويات ملف .pub وإرسالها إليك بالبريد الشابكي.
تبدو المفاتيح العمومية مثل هذا:
$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU
GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3
Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA
t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En
mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx
NrRFi9wrf+M7Q== schacon@mylaptop.local
لشرح أعمق لإنشاء مفتاح SSH على أنظمة التشغيل المختلفة، انظر دليل جتهب لمفاتيح SSH (بالإنجليزية):
https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent.