الحفاظ على مفاتيح SSH آمنة


أريد أن أخبرك بكيفية تخزين مفاتيح 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 } # Source SSH settings, if applicable if [ -f "${SSH_ENV}" ]; then . "${SSH_ENV}" > /dev/null #ps ${SSH_AGENT_PID} doesn't work under cywgin ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || { start_agent; } else start_agent; fi 

ثم نحتاج إلى تمكين الدعم في KeePassXC:


أدوات -> خيارات -> وكيل SSH -> تمكين وكيل SSH



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


انقر على الأيقونة بالمفتاح ، ثم املأ البيانات:



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


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



في علامة تبويب وكيل SSH ، لاحظ:


  • إضافة مفتاح إلى الوكيل عند فتح / فتح قاعدة البيانات
  • إزالة مفتاح من وكيل عند إغلاق / قفل قاعدة البيانات

بعد ذلك ، حدد مفتاحنا ( id_rsa ) في المرفق


وانقر على زر Add to Agent :



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

Source: https://habr.com/ru/post/ar435270/


All Articles