كيفية تحويل SSH Keypairs الناتجة عن استخدام Puttygen (Windows) في أزواج المفاتيح المستخدمة من قبل SSH-Agent و Keychain (Linux)
سؤال
لقد قمت بإنشائها بأزواج رئيسية باستخدام puttygen وتسجيل الدخول باستخدام المسابقة، بحيث لا بد لي من إدخال عبارة المرور الخاصة بي مرة واحدة فقط عندما أحذر النظام.
كيف يمكنني تحقيق هذا في لينكس؟ لقد سمعت عن keychain
لكنني أسمع أنه يستخدم تنسيق زوج رئيسي مختلف - لا أريد تغيير مفاتيح Windows الخاصة بي، وسوف يكون لطيفا إذا استطعت الاتصال بسلاسة بنفس الطريقة في كل من النوافذ ونظام التشغيل Linux.
المحلول
puttygen
يدعم تصدير المفتاح الخاص بك إلى تنسيق متوافق مع OpenSsh. يمكنك بعد ذلك استخدام أدوات Openssh لإعادة إنشاء المفتاح العمومي.
- فتح puttygen.
- انقر فوق تحميل
- تحميل المفتاح الخاص بك
- اذهب إلى
Conversions->Export OpenSSH
وتصدير المفتاح الخاص بك - انسخ مفتاحك الخاص إلى
~/.ssh/id_dsa
(أوid_rsa
). قم بإنشاء إصدار RFC 4716 من المفتاح العام باستخدام
ssh-keygen
ssh-keygen -e -f ~/.ssh/id_dsa > ~/.ssh/id_dsa_com.pub
تحويل إصدار RFC 4716 من المفتاح العمومي لتنسيق Openssh:
ssh-keygen -i -f ~/.ssh/id_dsa_com.pub > ~/.ssh/id_dsa.pub
نصائح أخرى
إذا كان كل ما لديك هو مفتاح عام من مستخدم بتنسيق نمط المعجون، يمكنك تحويله إلى تنسيق Openssh القياسي مثل ذلك:
ssh-keygen -i -f keyfile.pub > newkeyfile.pub
مراجع
- مصدر:
http://www.treslervania.com/node/408. - مرآة: https:/web.archive.org/web/201041404040727/http://www.treslervania.com/node/408..
نسخة من المادة
استمر في نسيان هذا، لذلك سأكتبها هنا. غير المهوسين، فقط استمر في المشي.
الطريقة الأكثر شيوعا لجعل المفتاح على النوافذ تستخدم المعجون / puttygen. يوفر Puttygen أداة مساعدة أنيقة لتحويل مفتاح Linux الخاص بتنسيق المعجون. ومع ذلك، ما لم يتم التعامل معه هو أنه عند حفظ المفتاح العمومي باستخدام Puttygen لن يعمل على خادم Linux. يضع Windows بعض البيانات في مناطق مختلفة وإضافة فواصل الأسطر.
الحل: عند الوصول إلى شاشة المفاتيح العامة في إنشاء زوجك الرئيسي في Puttygen، انسخ المفتاح العمومي والصقه في ملف نصي مع ملحق .pub. سوف توفر لك ساعات Sysadmin من الإحباط قراءة المشاركات مثل هذا.
ومع ذلك، فإن Sysadmins، يمكنك دائما الحصول على الملف الرئيسي المتقطع الذي يلقي أي رسالة خطأ في سجل المصادقة باستثناء، لم يتم العثور على مفتاح، تجربة كلمة المرور؛ على الرغم من أن مفاتيح الجميع تعمل بشكل جيد، فقم بإرسال هذا المفتاح إلى المستخدم 15 مرة.
ssh-keygen -i -f keyfile.pub > newkeyfile.pub
يجب تحويل مفتاح Prottygen العام الموجود لتنسيق Openssh.
إصدارات أحدث من puttygen. (الألغام 0.64) قادرين على إظهار مفتاح Openssh العام الذي يجب لصقه في نظام Linux في .ssh/authorized_keys
ملف، كما هو موضح في الصورة التالية:
بدلا من ذلك، إذا كنت ترغب في الاستيلاء على المفاتيح الخاصة والعامة من ملف مفتاح مكونا من المعجونة، يمكنك استخدامها puttygen
على أنظمة نيكس. لمعظم النظم القائمة على APT puttygen
جزء من putty-tools
صفقة.
إخراج مفتاح خاص من KeyFile المعجونة المشكلة:
$ puttygen keyfile.pem -O private-openssh -o avdev.pvk
للمفتاح العام:
$ puttygen keyfile.pem -L
sudo apt-get install putty
سيقوم ذلك تلقائيا بتثبيت أداة Puttygen.
الآن لتحويل ملف PPK لاستخدامه مع أمر SSH تنفيذ ما يلي في المحطة
puttygen mykey.ppk -O private-openssh -o my-openssh-key
ثم، يمكنك الاتصال عبر SSH مع:
ssh -v user@example.com -i my-openssh-key
http://www.graphicmist.in/use-your-putty-ppk-file-to-ssh-remote-server-in-ubuntu/#Comment-28603.
لقد أجريت مؤخرا هذه المشكلة حيث كنت أتحرك من المعجون لنظام Linux إلى Remmina Linux. لذلك لدي الكثير من ملفات PPK مع المعجون في بلدي .putty
دليل كما كنت أستخدمه لمدة 8 سنوات. لهذا اعتدت بسيطة for
أمر باش شل للقيام بكل الملفات:
cd ~/.putty
for X in *.ppk; do puttygen $X -L > ~/.ssh/$(echo $X | sed 's,./,,' | sed 's/.ppk//g').pub; puttygen $X -O private-openssh -o ~/.ssh/$(echo $X | sed 's,./,,' | sed 's/.ppk//g').pvk; done;
سريع جدا وإلى هذه النقطة، حصلت على وظيفة القيام به لجميع الملفات التي كان لدى المعجون. إذا وجدت مفتاح بكلمة مرور، فسوف يتوقف واطلب كلمة المرور الخاصة بهذا المفتاح أولا ثم يستمر.
من المحتمل أن يكون من الأسهل إنشاء مفاتيحك تحت Linux واستخدم Puttygen لتحويل المفاتيح إلى تنسيق المعجون.
أعتقد أن ما يحاول TCSGrad أن يسأله (قبل بضع سنوات) هو كيفية جعل Linux تتصرف مثل جهاز Windows الخاص به. وهذا هو، هناك وكيل (مهرجان) يحمل نسخة فك تشفير من المفتاح الخاص بحيث يحتاج عبارة المرور فقط إلى وضعه مرة واحدة. ثم، يمكن لعميل SSH، المعجون، تسجيل الدخول إلى الآلات التي يتم فيها سرد مفتاحه العام ك "مرخص له" بدون موجه كلمة المرور.
التناظرية لهذا هو أن لينكس، يتصرف كعميل SSH, ، لديه وكيل يحمل مفتاحا خاصا فك التشفير بحيث عندما يقوم TCSGrad بأنواع "SSH Host"، سيحصل الأمر SSH على مفتاحه الخاص وانتقل دون مطالبة بكلمة مرور. المضيف، بالطبع، يجب أن يحتفظ بالمفتاح العمومي في ~ / .ssh / Authorized_keys.
يتم إنجاز نظام Linux Analog إلى هذا السيناريو باستخدام وكيل SSH (التناظرية المسابقة) و SSH-ADD (التناظرية لإضافة مفتاح خاص إلى مسابقة المساكن).
كانت الطريقة التي عملت بالنسبة لي هي استخدام: قذيفة $ SSH-Agent $ التي كانت قذيفة $ كانت خدعة سحرية أحتاج لجعل الوكيل تشغيل والبقاء قيد التشغيل. لقد وجدت أنه في مكان ما على "صافي"، أنهت بضع ساعات من ضرب رأسي ضد الجدار.
الآن لدينا التناظرية من إدارة المسابقة، وكيل مع عدم تحميل مفاتيح.
سيتم إضافة المفاتيح الخاصة بالمفاتيح (افتراضيا). المفاتيح الخاصة المدرجة في ملفات الهوية الافتراضية في ملفات الهوية الافتراضية في ~ / .ssh.
يمكن العثور على مقالة ويب مزودة بكثير بتفاصيل هنا