بشكل افتراضي ، يتصل المهندسون بمعدات الشبكة باستخدام اسم مستخدم وكلمة مرور. باستخدام Telnet ، يتم إرسال بيانات اعتماد المستخدم بنص واضح ، وعبر SSH ، في تشفير. من أجل عدم إرسال الجزء السري عبر الشبكة ، يتم استخدام مصادقة المفتاح العام. باستخدام هذه المصادقة ، يتم تعيين المفتاح العام للمستخدم مسبقًا على الجهاز. لا يتم نقل المفتاح الخاص عبر الشبكة.سيساعدك هذا الدليل على البدء بسرعة في استخدام المفاتيح العامة للمصادقة عند الاتصال بمعدات الشبكة باستخدام بروتوكول SSH. ينطبق الدليل على كل من Windows و Mac OS X. حاولت أن أجعله بسيطًا وغنيًا بالمعلومات قدر الإمكان. لا يتم تحميلها بشكل زائد ، ولكنها تجيب على الأسئلة الأساسية:قمت أيضًا بفحص مواضيع "القرحة":- تحويل المفتاح بين OpenSSH <==> SecureCRT <==> PuTTY.
- استخدام أزواج مختلفة من المفاتيح العامة لمعدات مختلفة. مفتاح واحد جيد ، ولكن لا ينطبق في الواقع. يحتاج العملاء أو المعدات المختلفة إلى أزواج مختلفة من المفاتيح العامة (بعضها باستخدام كلمة مرور ، والبعض الآخر بدون).
- استخدام نظام التشغيل MAC OS X الأصلي (الأصلي) للعمل مع المفاتيح العامة.
- يجب أن يساعد الدليل أيضًا في استخدام Ansible مع معدات الشبكة ، نظرًا لأن Ansible يستخدم OpenSSH مع مصادقة المفتاح العام بشكل افتراضي.
يتم اختبار 90٪ من المواد المعروضة على معدات حقيقية.المقدمة
بالإضافة إلى مصادقة كلمة المرور القياسية (كلمة المرور / لوحة المفاتيح) في بروتوكول SSH ، هناك أيضًا مصادقة مفتاح عام (RSA).تتكون المصادقة باستخدام مفاتيح RSA من عدة خطوات:لماذا RSA فقط؟ لماذا لا DSA؟ لسوء الحظ ، لم أجد الإجابة على هذا السؤال (ولم أبحث عنه حقًا). ولكن رسميًا ، يتم دعم RSA فقط على معدات Cisco.دليل تكوين Shell الآمن ، الإصدار 15E من Cisco IOS:يعد دليل تكوين Shell الآمن ، وقيود الإصدار 15E من Cisco IOS
لإصدار دعم Secure Shell الإصدار 2
Rivest و Shamir و Adleman (RSA) من متطلبات خادم SSH. لا تحتاج الأجهزة التي تعمل كعملاء SSH إلى إنشاء مفاتيح RSA.
محاولة إدخال بيانات مفتاح DSA:CSR-1(conf-ssh-pubkey-data)#exit
%SSH: Only ssh-rsa type is supported
CSR-1(conf-ssh-pubkey-user)#
إنشاء مفتاح RSA عام
يمكن إنشاء زوج من مفاتيح RSA باستخدام أدوات مساعدة مختلفة: SecureCRT أو PuTTYgen أو أي برنامج آخر. عند إنشاء مفتاح ، يمكنك تعيين عبارة المرور (حماية كلمة المرور بمفتاح).إنشاء زوج RSA في SecureCRT
SecureCRT -> أدوات -> إنشاء مفتاح عام ...:قليلا من النظرية → زر "التالي>":نوع شهادة RSA / DSA → اختر RSA → زر "التالي>":كلمة مرور التشفير للمفتاح السري (اختياري ، يمكنك تركه فارغًا وليس تشفيره) + تعليق → زر "التالي>":اختر طول المفتاح (في SecureCRT الإصدار 6.1.0 الحد الأقصى لطول المفتاح هو 2048 بت ، في الإصدار 8.5.4 - 16 384 بت):إنشاء مفتاح ← زر "التالي>":لإنشاء أرقام عشوائية ، تحتاج إلى تحريك الماوس داخل النافذة.حفظ زوج مفاتيح ← تحديد موقع تخزين ← تحديد تنسيق لمفتاح محفوظ (تنسيق VanDuke Private ، OpenSSH legacy ، OpenSSH new) ← زر "إنهاء":يسأل SecureCRT ما إذا كان سيجعل هذا المفتاح هو المفتاح الافتراضي لـ SecureCRT:الجيل RSA الزوج في PuTTYgen
يمكنك تحميل PuTTYgen هنا: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html .إطلاق PuTTYgen:حدد المعلمات (نوع الزوج: RSA ؛ بُعد بت المفتاح: 2048 ؛ قم بتعيين عبارة المرور بشكل اختياري (حماية كلمة المرور بكلمة مرور)) → إنشاء:لضمان أرقام عشوائية ، يطلب تحريك الماوس داخل النافذة. هذه حماية ضد الأرقام العشوائية الزائفة.حفظ مفاتيح RSA ← زر "حفظ المفتاح الخاص":يرجى ملاحظة ما يلي: لا يمكن استخدام مفاتيح RSA المخزنة بتنسيق خاص في أحد البرامج في برنامج من شركة مصنعة أخرى. أي أن زوجًا من مفاتيح RSA التي تم إنشاؤها في PuTTYgen وحفظها بتنسيق مفتاح المعجون الخاص غير مناسبة للاستخدام في SecureCRT ، والعكس صحيح. PuTTY يدعم فقط تنسيق المفتاح المعجون الخاص. الحل الشامل لتوزيع المفاتيح هو تحويل المفاتيح إلى تنسيق OpenSSH (انظر الرابط 2: "التحويل من المعجون إلى SecureCRT باستخدام مصادقة المفاتيح"). نظرًا لأن SecureCRT يعمل بحرية مع تنسيق OpenSSH. ويقوم برنامج PuTTYgen بتحويل تنسيق OpenSSH إلى تنسيق المفتاح الخاص المعجون.تحويل مفتاح RSA من تنسيق المفتاح الخاص المعجون (PuTTY) إلى تنسيق OpenSSH (SecureCRT)
من أجل استخدام مفاتيح RSA في SecureCRT التي يتم إنشاؤها في PuTTYgen وحفظها بتنسيق مفتاح المعجون الخاص (* .ppk) ، نقوم بتصديرها باستخدام PuTTYgen بتنسيق OpenSSH:- قم بتشغيل PuTTYgen.
- نقوم بتحميل مفتاح RSA الحالي بتنسيق مفتاح المعجون الخاص (* .ppk) ← زر "تحميل".
- احفظ ملف المفتاح العام ← "حفظ المفتاح العام".
- نقوم بتصدير المفتاح السري إلى تنسيق OpenSSH: القائمة PuTTYgen → "التحويلات" → "تصدير مفتاح OpenSSH".
- نستخدم ملفات OpenSSH في SecureCRT. الملف ذو المفتاح العام له الامتداد .pub ، الملف ذو المفتاح الخاص ليس له امتداد.
تحويل مفتاح RSA من تنسيق VanDyke Private Key (SecureCRT) إلى تنسيق Putty Private Key (PuTTY)
لاستخدام مفاتيح RSA في PuTTY التي يتم إنشاؤها في SecureCRT وحفظها بتنسيق VanDyke Private Key (ملف المفتاح العام * .pub ، ملف المفتاح السري *. (بدون ملحق)) ، قم بتصديرها باستخدام SecureCRT بتنسيق OpenSSH ، ثم باستخدام PuTTYgen نقوم بالتصدير إلى تنسيق المفتاح الخاص المعجون (* .ppk):- قم بتشغيل SecureCRT.
- القائمة "أدوات" → "تحويل المفتاح الخاص إلى تنسيق OpenSSH ..."
- حدد الملف المصدر باستخدام مفاتيح VanDyke Private Key.
- نقوم بحفظ مفاتيح OpenSSH باسم جديد.
- قم بتشغيل PuTTYgen.
- نقوم بتحميل مفتاح RSA الحالي بتنسيق OpenSSH (*.): قائمة PuTTYgen ← "التحويلات" ← "مفتاح الاستيراد".
- احفظ الملف بتنسيق Putty: "Save private key".
إنشاء مفاتيح عامة على MAC OS X باستخدام نظام التشغيل
سنستخدم الأداة المساعدة ssh-keygen المضمنة (man ssh-keygen).نقوم بإنشاء مفتاح RSA بطول 2048 بت مع اسم المفتاح ، المسار إلى المجلد الذي يحتوي على موقع تخزين المفاتيح:ssh-keygen -b 2048 -t rsa -c "Lab router R4" -f /Users/ArtemiySP/Documents/python/r4
في وقت التشغيل ، سيطلب البرنامج كلمة مرور لحماية مفتاح RSA:artemiy-2:Downloads ArtemiySP$ ssh-keygen -b 2048 -t rsa -C "Lab router R4" -f /Users/ArtemiySP/Documents/python/r4
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/ArtemiySP/Documents/python/r4.
Your public key has been saved in /Users/ArtemiySP/Documents/python/r4.pub.
The key fingerprint is:
SHA256:WdT47SFvgGI7danxX94p8/cO3uyU12SB3ipkc7nHxzA Lab router R4
The key's randomart image is:
+---[RSA 2048]----+
| .o |
| .. . . |
| .o + . |
| oo+ B = .|
| .S+ O OEoo|
| o + + B*+|
| . . =.*O|
| .+o**|
| =+O|
+----[SHA256]-----+
artemiy-2:Downloads ArtemiySP$
نقوم بإنشاء مفتاح RSA بطول 4096 بت للإشارة إلى اسم المفتاح ، والمسار إلى المجلد الذي يحتوي على موقع تخزين المفتاح ، وتعيين كلمة المرور بشكل صريح في معلمات توليد المفاتيح (-N "cisco"):artemiy-2:Downloads ArtemiySP$ ssh-keygen -b 4096 -t rsa -C "Lab router R5" -N "cisco" -f /Users/ArtemiySP/Documents/python/r5
Generating public/private rsa key pair.
Your identification has been saved in /Users/ArtemiySP/Documents/python/r5.
Your public key has been saved in /Users/ArtemiySP/Documents/python/r5.pub.
The key fingerprint is:
SHA256:NraLRMqB4qmA8qNjKdpBBt1JBw8Osf/3GfuB2k1R+zY Lab router R5
The key's randomart image is:
+---[RSA 4096]----+
| o.+.. |
| . * = |
|. o + . . |
| . o . . |
|. + o . S . . |
|o+.. = o o . . . |
|+oo o o o o o Eo|
|*=.. . o = * . ..|
|Boo. . o =.o |
+----[SHA256]-----+
artemiy-2:Downloads ArtemiySP$
معلمات إنشاء المفاتيح غير الموصى بها: مفتاح غير موثوق به بطول 1024 بت ، وتحديد اسم المفتاح ، ومسار المجلد الذي يحتوي على موقع تخزين المفاتيح ، نقوم بتعيين كلمة المرور بشكل صريح في معلمات إنشاء المفاتيح (-N "" - بدون كلمة مرور):artemiy-2:Downloads ArtemiySP$ ssh-keygen -b 1024 -t rsa -C "Lab router R6" -N "" -f /Users/ArtemiySP/Documents/python/r6
Generating public/private rsa key pair.
Your identification has been saved in /Users/ArtemiySP/Documents/python/r6.
Your public key has been saved in /Users/ArtemiySP/Documents/python/r6.pub.
The key fingerprint is:
SHA256:LEcfgN+58TYMDv4MpBA2FGCWc2aFiY+SxWBf7pRViWs Lab router R6
The key's randomart image is:
+---[RSA 1024]----+
|.++=o*.o+.. |
|.oB % +. o |
| o X * .o... |
|o . = E+.=. |
| . oo+So.* |
| .oo o = |
| + . . |
| o |
| |
+----[SHA256]-----+
artemiy-2:Downloads ArtemiySP$
لذا ، أنشأنا ثلاثة مفاتيح بأسماء المفاتيح وموقع المفاتيح (افتراضيًا ، يتم تخزين جميع المفاتيح في / Users / [اسم المستخدم 022 / .ssh).بشكل افتراضي ، عند الاتصال عبر SSH بالمصادقة باستخدام المفتاح العام ، يتم تخزين جميع المفاتيح العامة بالتسلسل ، والتي يتم تخزينها في المجلد /Users/ [اسم المستخدم //ssh.مفتاح R6: إعادة تسمية المفتاح إلى "id_rsa" (اسم ملف المفتاح الذي تم إنشاؤه بشكل افتراضي هو "id_rsa") ونقله إلى المجلد باستخدام مفاتيح SSH (~ / .ssh /) (على سبيل المثال ، سنقوم بتنفيذ جميع الخطوات بحيث يتم استخدام مفتاح R6 كمفتاح رئيسي مفتاح اتصال SSH الافتراضي):تحويل مفتاح OpenSSH العام إلى تنسيق RFC4716 (تصدير إلى Cisco IOS):https://serverfault.com/questions/706336/how-to-get-a-pem-file-from-ssh-key-pair
ssh-keygen -f ~/Documents/python/r4.pub -e -m RFC4716
ssh-keygen -f ~/Documents/python/r5.pub -e -m RFC4716
ssh-keygen -f ~/.ssh/id_rsa.pub -e -m RFC4716
استخدام مفتاح عام على المعدات
كيف على معدات مختلفة لربط مفتاح عام لمستخدم؟إن عملية ربط مفتاح عمومي بمستخدم ليست قياسية وتختلف من جهاز إلى آخر ، لذلك ، يتم تقديم أمثلة لكل نوع من المعدات التي يتم استخدامها غالبًا على الشبكة.Cisco IOS XE ، Catalyst (من الإصدار 15.1 والإصدارات الأحدث) ، IOS
- يوجد مستخدم بالفعل على الجهاز.
- في إعدادات SSH (ip ssh pubkey-chain) للمستخدم (سيسكو اسم المستخدم) ، حدد المفتاح العام (سلسلة المفاتيح):
CSR-1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
CSR-1(config)#ip ssh pubkey-chain
CSR-1(conf-ssh-pubkey)#username ssh-putty
CSR-1(conf-ssh-pubkey-user)#key-string
CSR-1(conf-ssh-pubkey-data)#$QAAAQEAnPbynT1+2rjlyqP4viSPdTVDFLSHzWjJnAwy
CSR-1(conf-ssh-pubkey-data)#$NCfaqvMTPruCgG5096q8lO0ntURmNgmfMEQPOgb8weF
CSR-1(conf-ssh-pubkey-data)#$AtMQYk7WFM+5iBnOQ32UAHNavCUA7YFEpAdOQO4W/qB
CSR-1(conf-ssh-pubkey-data)#$SlOLy+PQ47jDUINBnuUeHd8ZXyzXxWglzSvqtwMEXBW
CSR-1(conf-ssh-pubkey-data)#$VoUTBYbJ45DmFa93P50qf494ujaAsTbYyJ/GBzJUTK/
CSR-1(conf-ssh-pubkey-data)#$UADAkNGxQARfOfHZWiIYb3rif6h6hfwwVUZS/Tw==
CSR-1(conf-ssh-pubkey-data)#exit
CSR-1(conf-ssh-pubkey-user)#exit
CSR-1(conf-ssh-pubkey)#exit
CSR-1(config)#exit
CSR-1#exit
CSR-1#show running-config | inc ssh
username ssh-public-key secret 5 $1$ebjc$EYgwMFQXPPiywFVn6rl7t.
username ssh-putty privilege 15 secret 5 $1$vIhh$nM8iCeBKmLyVK4hA6./h4.
ip ssh pubkey-chain
key-hash ssh-rsa D4E9AD62F7F6265EAAB3FB8778477612
username ssh-public-key
key-hash ssh-rsa C331DEE821A84681A4A7B1862C100D16
username ssh-putty
key-hash ssh-rsa F32BEB60290EA75D151447C0D42D2A99
key-hash ssh-rsa 5432C275B363B646E02D3BA7E8D865B7
CSR-1#
سيسكو ASA
LAB-ASA5516-X-01/pri/act# conf t
LAB-ASA5516-X-01/pri/act(config)# username artemiy password artemiy privilege $
LAB-ASA5516-X-01/pri/act(config)# username artemiy attributes
LAB-ASA5516-X-01/pri/act(config-username)# ssh authentication publickey ?
username mode commands/options:
WORD Raw SSH-RSA public key
LAB-ASA5516-X-01/pri/act(config-username)# ssh authentication publickey AAAAB3$
نقوم بإدخال المفتاح بالكامل في سطر واحد (تنسيق OpenSSH).موجّهات ومفاتيح هواوي
[R1]rsa peer-public-key test-key1 encoding-type pem
Enter "RSA public key" view, return system view with "peer-public-key end".
NOTE: The number of the bits of public key must be between 769 and 2048.
[R1-rsa-public-key]public-key-code begin
Enter "RSA key code" view, return last view with "public-key-code end".
[R1-rsa-key-code]---- BEGIN SSH2 PUBLIC KEY ----
[R1-rsa-key-code]Subject: Subject
[R1-rsa-key-code]Comment: " Subject@Subject.local"
[R1-rsa-key-code]ModBitSize: 2048
[R1-rsa-key-code]AAAAB3NzaC1yc2EAAAADAQABAAABAQC4YLFhPqfsz4a6PUpZOtvm6zGn5TWOVMnx
[R1-rsa-key-code]lTH5hr/u+aYnoM2XnDTu4Ul1iB8MMPLVKXzV4LgYhaFcU1rz2/yYhTKIwbiQTHof
[R1-rsa-key-code]63fJjyWwkvyBuVZTSKh4b2pfoF2mXgdJzzRmUaiRrZZUVJWsX+CbgtKQuktG7sTK
[R1-rsa-key-code]2eguHwdfhilbOAsUaL0/q39Y0aTAMnLMtn0m5r6MD/UopQPI3Fxm1L9azJ7zYIZa
[R1-rsa-key-code]yI43Solg0AOupPl8FHFI9Cxq81/uZRACx5lAyuObaQ4/t1Rdh3CAJj1qwfZjZFTP
[R1-rsa-key-code]VdJxwTDxwfkpOzMD193M0ThOSrgfWe336Q9F3jbSWrEYUQDX8ew7
[R1-rsa-key-code]---- END SSH2 PUBLIC KEY ----
[R1-rsa-key-code]public-key-code end
[R1-rsa-public-key]peer-public-key end
[R1]display rsa peer-public-key
=====================================
Key name: test-key1
=====================================
Key Code:
---- BEGIN SSH2 PUBLIC KEY ----
AAAAB3NzaC1yc2EAAAADAQABAAABAQC4YLFhPqfsz4a6PUpZOtvm6zGn5TWOVMnx
lTH5hr/u+aYnoM2XnDTu4Ul1iB8MMPLVKXzV4LgYhaFcU1rz2/yYhTKIwbiQTHof
63fJjyWwkvyBuVZTSKh4b2pfoF2mXgdJzzRmUaiRrZZUVJWsX+CbgtKQuktG7sTK
2eguHwdfhilbOAsUaL0/q39Y0aTAMnLMtn0m5r6MD/UopQPI3Fxm1L9azJ7zYIZa
yI43Solg0AOupPl8FHFI9Cxq81/uZRACx5lAyuObaQ4/t1Rdh3CAJj1qwfZjZFTP
VdJxwTDxwfkpOzMD193M0ThOSrgfWe336Q9F3jbSWrEYUQDX8ew7
---- END SSH2 PUBLIC KEY ----
aaa
local-user jet privilege level 15
local-user jet service-type telnet terminal ssh http
ssh user jet assign rsa-key test-key1
أنواع التنسيقات الرئيسية المستوردة إلى Huawei:"ينشئ SecureCRT و PuTTY مفاتيح RSA بتنسيق PEM."rsa peer-public-key test-key1 encoding-type pem
"يقوم OpenSSH بإنشاء مفاتيح RSA بتنسيق OpenSSH."rsa peer-public-key test-key1 encoding-type openssh
"يقوم OpenSSL بإنشاء مفاتيح RSA بتنسيق DER".rsa peer-public-key test-key1 encoding-type der
القيمة الافتراضية بالنظام الست عشري:rsa peer-public-key test-key1
ملاحظة: لا تدعم معدات Huawei المفاتيح بتنسيق RSA فحسب ، بل تدعم أيضًا التنسيقات الأخرى:ssh user user-name assign { rsa-key | dsa-key | ecc-key } key-name
يمكنك تعيين نوع المصادقة للمستخدم بشكل صارم عبر SSH:[R1]ssh user jet authentication-type ?
all All authentication, password,RSA or ECC
ecc ECC authentication
password Password authentication
password-ecc Both password and ECC
password-rsa Both password and RSA
rsa RSA authentication
[R1]
أي أننا نسمح بالوصول باستخدام كلمة مرور أو مفاتيح عامة وخاصة ، أو كليهما.Huawei USG (6000)
التكوين مشابه تمامًا للإعدادات الموجودة على جهاز التوجيه ، ولكن يحتوي على بعض الميزات.افتراضيًا ، يكون مستوى الامتياز بعد التسجيل باستخدام الشهادات هو 0 ولا يمكن رفعه. لذلك ، يتم تعيين مستوى الأولوية باستخدامuser-interface vty 0 4
user privilege level 15
user-interface vty 16 20:
user privilege level 15
مثال:[USG-a]rsa peer-public-key test-key1 encoding-type pem
Enter "RSA public key" view, return system view with "peer-public-key end".
[USG-a-rsa-public-key]public-key-code begin
Enter "RSA key code" view, return last view with "public-key-code end".
[USG-a-rsa-key-code]---- BEGIN SSH2 PUBLIC KEY ----
[USG-a-rsa-key-code]Subject: subject
[USG-a-rsa-key-code]Comment: " subject@subject.local"
[USG-a-rsa-key-code]ModBitSize: 2048
[USG-a-rsa-key-code]AAAAB3NzaC1yc2EAAAADAQABAAABAQC4YLFhPqfsz4a6PUpZOtvm6zGn5TWOVMnx
[USG-a-rsa-key-code]lTH5hr/u+aYnoM2XnDTu4Ul1iB8MMPLVKXzV4LgYhaFcU1rz2/yYhTKIwbiQTHof
[USG-a-rsa-key-code]63fJjyWwkvyBuVZTSKh4b2pfoF2mXgdJzzRmUaiRrZZUVJWsX+CbgtKQuktG7sTK
[USG-a-rsa-key-code]2eguHwdfhilbOAsUaL0/q39Y0aTAMnLMtn0m5r6MD/UopQPI3Fxm1L9azJ7zYIZa
[USG-a-rsa-key-code]yI43Solg0AOupPl8FHFI9Cxq81/uZRACx5lAyuObaQ4/t1Rdh3CAJj1qwfZjZFTP
[USG-a-rsa-key-code]VdJxwTDxwfkpOzMD193M0ThOSrgfWe336Q9F3jbSWrEYUQDX8ew7
[USG-a-rsa-key-code]---- END SSH2 PUBLIC KEY ----
[USG-a-rsa-key-code]public-key-code end
[USG-a-rsa-public-key]peer-public-key end
[USG-a]
[USG-a]ssh user admin assign rsa-key test-key1
! Out-of-band management interface:
[USG-a-GigabitEthernet0/0/0]service-manage ssh permit
! Grant user level 15 privillege:
[USG-a]user-interface vty 0 4
[USG-a-ui-vty0-4]user privilege level 15
Cisco Nexus 9.3
الخيار 1: التثبيت المسبق لملف المفتاح العام على الجهاز وإرفاق ملف المفتاح العام للمستخدم.- انسخ ملف المفتاح العام إلى الجهاز.
- نوجه المستخدم لاستخدام ملف المفتاح العام.
switch# copy tftp://10.10.1.1/secsh_file.pub bootflash:secsh_file.pub
username User1 sshkey file bootflash:secsh_file.pub
الخيار 2: نسخ المفتاح العام للمستخدم:username User1 sshkey
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4YLFhPqfsz4a6PUpZOtvm6zGn5TWOVMnxlTH5hr/u+aYnoM2XnDTu4Ul1iB8MMPLVKXzV4LgYhaFcU1rz2/yYhTKIwbiQTHof63fJjyWwkvyBuVZTSKh4b2pfoF2mXgdJzzRmUaiRrZZUVJWsX+CbgtKQuktG7sTK2eguHwdfhilbOAsUaL0/q39Y0aTAMnLMtn0m5r6MD/UopQPI3Fxm1L9azJ7zYIZayI43Solg0AOupPl8FHFI9Cxq81/uZRACx5lAyuObaQ4/t1Rdh3CAJj1qwfZjZFTPVdJxwTDxwfkpOzMD193M0ThOSrgfWe336Q9F3jbSWrEYUQDX8ew7
استخدام مفتاح سري لاتصال SSH
هذا القسم مخصص لتكوين عملاء SSH للمصادقة باستخدام مفاتيح RSA على معدات الشبكة (أو معدات أخرى ، شريطة أن يدعم الجهاز والبرنامج مصادقة المفتاح العام).سننظر في إعداد استخدام المفتاح العام في البرامج الأكثر شيوعًا: SecureCRT و PuTTY.SecureCRT
توجد قائمة مصادقة في نافذة إعدادات SSH. في ذلك ، تحتاج إلى زيادة أولوية PublicKey إلى أعلى - اجعلها في أعلى القائمة.ثم انتقل إلى خيارات PublicKey وحدد ملف المفتاح الخاص. يتيح لك مفتاح التبديل العلوي استخدام الإعدادات العامة للمفتاح السري أو إعدادات الجلسة - مفتاح سري آخر (مفتاح غير افتراضي) - فقط لهذا الاتصال.تكوين مفتاح عمومي عام: في القائمة خيارات ← خيارات عامة → الفئة SSH2.معجون
في إعدادات SSH (اتصال → SSH → Auth) في حقل "ملف المفتاح الخاص للمصادقة" حدد الملف المفتاح الخاص المعجون (* .ppk):MAC OS X
إعداد عميل قياسي لاستخدام المفاتيح العامة:- الاتصال بمفتاح غير افتراضي محدد يدويًا:
artemiy-2:~ ArtemiySP$ ssh r4@10.31.73.29 -i ~/Documents/python/r4
The authenticity of host '10.31.73.29 (10.31.73.29)' can't be established.
RSA key fingerprint is SHA256:fxOLFKU6YGyIqisrIh2P0O52Rr6Wx/wsSAcHsTz8fo0.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.31.73.29' (RSA) to the list of known hosts.
CSR-4#
- الاتصال بمفتاح غير افتراضي محدد يدويًا:
artemiy-2:~ ArtemiySP$ ssh r5@10.31.73.30 -i ~/Documents/python/r5
The authenticity of host '10.31.73.30 (10.31.73.30)' can't be established.
RSA key fingerprint is SHA256:4l67C4Il4pTaqYT4vrtWr0aY7rPmNWKsjRv2zlYtQIU.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.31.73.30' (RSA) to the list of known hosts.
MGTU#exit
Connection to 10.31.73.30 closed.
خطأ المثال— . MAC OS X — .
- الاتصال بالمفتاح الافتراضي (المفتاح الافتراضي - سيجد النظام نفسه المفتاح العام الافتراضي ويستخدمه):
artemiy-2:~ ArtemiySP$ ssh r6@10.31.73.31
The authenticity of host '10.31.73.31 (10.31.73.31)' can't be established.
RSA key fingerprint is SHA256:2/ysACJQw48Q8S45ody4wna+6nJspcsEU558HiUN43Q.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.31.73.31' (RSA) to the list of known hosts.
PR#exit
Connection to 10.31.73.31 closed.
artemiy-2:~ ArtemiySP$
كيفية تبسيط العمل مع SSH على MAC OS X:
- إنشاء أسماء مستعارة SSH.
- في أسماء مستعارة SSH ، قمنا بتعيين المستخدمين على الفور.
- تسجيل موقع المفاتيح على الفور.
يتم تحديد موقع الأسماء المستعارة وتكوين SSH الذي تم تكوينه مسبقًا في ملف ~ / .ssh / config (/Users/ [اسم المستخدم //ssh/config).تمتلئ بهذه الطريقة:host r4
Hostname 10.31.73.29
Port 22
User r4
IdentityFile ~/Documents/python/r4
host r5
Hostname 10.31.73.30
Port 22
User r5
IdentityFile ~/Documents/python/r5
host r6
Hostname 10.31.73.31
Port 22
User r6
ملاحظة: تم تكوين الاتصال الافتراضي بشكل غير صحيح (لا أعرف مدى صحته) ، لأن الاتصال بمضيف R6 (10.31.73.31) يستغرق وقتًا طويلاً جدًا. يوصى بتحديد المسار إلى المفتاح الافتراضي على الفور.مثال على اتصال ssh باستخدام المفاتيح العامة وملف التكوين:artemiy-2:Documents ArtemiySP$ ssh r5
MGTU#exit
Connection to 10.31.73.30 closed by remote host.
Connection to 10.31.73.30 closed.
artemiy-2:Documents ArtemiySP$ ssh r4
CSR-4#exit
Connection to 10.31.73.29 closed by remote host.
Connection to 10.31.73.29 closed.
artemiy-2:Documents ArtemiySP$ ssh r6
PR#exit
Connection to 10.31.73.31 closed.
artemiy-2:Documents ArtemiySP$ ssh r6
PR#
استنتاج
يمكن استخدام مفاتيح RSA لاستبدال مصادقة كلمة المرور ، ولكن ليس في جميع الحالات:- لا يمكن مصادقة المفتاح العام إذا تم تكوين مصادقة المجال (لأن طلبات LDAP (kerberos) إلى الخادم تتم مصادقتها من أجل المصادقة).
- لا يمكن مصادقة المفتاح العام على أجهزة الشبكة القديمة (مثال: فشل التهيئة على Cisco Catalyst 2960 مع البرامج الثابتة 12.2).
يتم استخدام المفاتيح العامة المحمية بكلمة مرور بشكل مريح في معدات مقاعد البدلاء. العيب: من الضروري إرسال مجموعة من المفاتيح الخاصة والعامة إلى الزملاء والشركاء.في بعض المعدات ، يمكن أن تتوافق عدة أزواج من المفاتيح العامة مع مستخدم واحد ، بينما على أجهزة أخرى يتوافق مفتاح عام واحد فقط مع مستخدم واحد.هناك أيضًا تنسيقات مختلفة يتم فيها تخزين زوج من المفاتيح العامة والخاصة. لكن هذا الدليل سيساعدك على تصدير المفاتيح بتنسيقات مختلفة.اليوم ، من الأفضل استخدام المفاتيح التي يبلغ طولها 2048 بت ، ولكن بالنسبة لبعض المعدات يكون هذا هو أقصى طول ممكن للمفتاح (ربما سيتم إصلاح هذا في البرامج الثابتة الجديدة). على سبيل المثال:[R1]rsa peer-public-key test-key2 encoding-type pem
Enter "RSA public key" view, return system view with "peer-public-key end".
NOTE: The number of the bits of public key must be between 769 and 2048.
[R1-rsa-public-key]
يوصى باستخدام المفاتيح العامة لاستبدال كلمات المرور إذا تم إدخال كلمات المرور باستخدام البرامج النصية (مثال: autologon في SecureCRT).يوصى باستخدام المفاتيح العامة للحماية من نقل كلمة المرور عبر الشبكة.تستخدم بعض البرامج المفاتيح العامة بشكل افتراضي لمصادقة SSH بدلاً من كلمة المرور (مثال: Ansible).قائمة المصادر:
- ويكيبيديا RSA
- التحويل من المعجون إلى SecureCRT باستخدام المصادقة. مفاتيح منتدى SecureCRT
- دليل تكوين القشرة الآمنة ، Cisco IOS الإصدار 15E
- تنزيل PuTTYgen
- وثائق Huawei الرسمية - وصف للتنسيقات الرئيسية المختلفة للاستيراد إلى جهاز توجيه Huawei
- Huawei USG 6000 ، تكوين مصادقة المفتاح العام (CLI: مثال لتسجيل الدخول إلى CLI باستخدام STelnet (مصادقة RSA))
- Nexus 9000 Configuration guide SSH public key
- man ssh-keygen — mac os x.
- SSH config file MAC OS X
- SSH
- SSH config
- openssh public key RFC4716