
أريد أن أخبرك بكيفية تخزين مفاتيح SSH بأمان على الجهاز المحلي ، دون خوف من أن يسرقها أحد التطبيقات أو يفك تشفيرها.
ستكون المقالة مفيدة لأولئك الذين لم يجدوا حلاً أنيقًا بعد جنون العظمة في عام 2018 واستمروا في تخزين المفاتيح في $HOME/.ssh
.
لحل هذه المشكلة ، أقترح استخدام KeePassXC ، وهو أحد أفضل مديري كلمة المرور ، ويستخدم خوارزميات تشفير قوية ، ولديه أيضًا عامل SSH مضمن.
يتيح ذلك تخزين جميع المفاتيح بأمان مباشرةً في قاعدة بيانات كلمة المرور وإضافتها تلقائيًا إلى النظام عند فتحها. بمجرد إغلاق قاعدة البيانات ، يصبح استخدام مفاتيح SSH مستحيلًا أيضًا.
بادئ ذي بدء ، ~/.bashrc
لوكيل SSH عند تسجيل الدخول ، لهذا ، افتح ~/.bashrc
في ~/.bashrc
المفضل ~/.bashrc
إلى النهاية:
SSH_ENV="$HOME/.ssh/environment" function start_agent { echo "Initialising new SSH agent..." /usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}" echo succeeded chmod 600 "${SSH_ENV}" . "${SSH_ENV}" > /dev/null }
ثم نحتاج إلى تمكين الدعم في KeePassXC:
أدوات -> خيارات -> وكيل SSH -> تمكين وكيل SSH

يكمل هذا الإعداد ، حاول الآن إضافة مفتاح SSH جديد إلى KeePassXC:
انقر على الأيقونة بالمفتاح ، ثم املأ البيانات:

إذا كان المفتاح محميًا بكلمة مرور ، فقم بتقديم نفس كلمة المرور
في علامة التبويب خيارات متقدمة ، قم بتحميل المرفق باستخدام id_rsa الخاص بنا:

في علامة تبويب وكيل SSH ، لاحظ:
- إضافة مفتاح إلى الوكيل عند فتح / فتح قاعدة البيانات
- إزالة مفتاح من وكيل عند إغلاق / قفل قاعدة البيانات
بعد ذلك ، حدد مفتاحنا ( id_rsa ) في المرفق
وانقر على زر Add to Agent :

الآن عند بدء تشغيل KeePassXC ، سيتم إضافة المفتاح تلقائيًا إلى وكيل SSH ، بحيث لم يعد بإمكانك تخزينه على القرص!