Lưu trữ khóa SSH một cách an toàn

Lưu trữ khóa SSH một cách an toàn

Хочу рассказать как безопасно хранить SSH-ключи на локальной машине, не боясь за то, что какое-то приложение может украсть или расшифровать их.

Статья будет полезна тем, кто так и не нашел элегантного решения после паранои в 2018 и продолжает хранить ключи в $HOME/.ssh.

Для решения данной проблемы предлагаю использовать KeePassXC, который является одним из лучших менеджеров паролей, он использует сильные алгоритмы шифрования, а также имеет встроенный SSH-агент.

Это дает возможность безопасно хранить все ключи прямо в базе паролей и автоматически добавлять их в систему при её открытии. Как только база будет закрыта, использование SSH-ключей также станет невозможным.

Первым делом добавим автозапуск SSH-агента при входе в систему, для этого откройте ~/.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:

Dụng cụ -> Tham số -> SSH-агент -> Включить SSH-агент

Lưu trữ khóa SSH một cách an toàn

На этом настройка завершена, теперь попробуем добавить новый SSH-ключ в KeePassXC:

Нажимаем на иконку с ключом, затем заполняем данные:

Lưu trữ khóa SSH một cách an toàn

Если ключ защищен паролем, укажите так-же пароль к нему

Trong tab Bổ sung загружаем вложение с нашим id_rsa:

Lưu trữ khóa SSH một cách an toàn

Trong tab SSH-агент, отметим:

  • Добавить ключ в агент при открытии/разблокировке базы данных
  • Убрать ключ из агента при закрытии/блокировке базы данных

Далее выберем наш ключ (id_rsa) во вложении

И нажмем кнопку Добавить в агент:

Lưu trữ khóa SSH một cách an toàn

Теперь при запуске KeePassXC ключ будет автоматически добавляться в SSH-агент, таким образом его можно больше не хранить на диске!

Nguồn: www.habr.com

Thêm một lời nhận xét