другое решение, повышающее безопасность и облегчающее вашу работу, поэтому вам не нужно постоянно вводить пароль:
если вы хотите зашифровать свой закрытый ключ, вы можете использовать его ssh-agent
на своей рабочей станции для «кэширования» незашифрованного ключа. когда вы хотите сохранить расшифрованный ключ, вы запускаете ssh-add ~/.ssh/id_rsa
или любой другой ваш закрытый ключ называется. Вам будет предложено ввести пароль, и дешифрованный ключ будет доступен для ваших соединений ssh до тех пор, пока вы не выйдете из системы, не завершите работу ssh-agent
или не завершите работу.
вы можете kill
сохранить сохраненные ключи ssh-agent -k
и назначить срок действия ключа, который будет храниться в памяти, ssh-agent -t [seconds]
например; если вы не хотите, чтобы ваш ключ был дешифрован вечно, но вы хотите выполнять много сшинга вокруг своих хостов, вы можете установить тайм-аут на 5-10 минут. поэтому вам не нужно постоянно вводить пароль вашего ключа.
опять же, все это связано с тем, насколько вы уверены в безопасности своей / рабочей станции /, которая, если вы единственный, кто имеет к ней доступ, и у вас есть довольно безопасный локальный пароль, и вы не пригласите на себя эксплойты и руткиты, ваш личный секретный ключ без паролей достаточно надежен.
если вы похожи на меня и храните свой закрытый ключ на флэш-накопителе, вы определенно захотите зашифровать его, даже если это просто закрытый ключ (отдельный, из которого я использую свою рабочую станцию, так что если я теряю свой ключ, я могу легко удалить открытый ключ флэш-накопителя из ~/.ssh/authorized_keys
списка моего сервера , что также вызывает / отлично / причину добавить ПОЛЕЗНЫЕ комментарии к вашим открытым ключам)
в своем ответе на предыдущий ответ вы сказали, что только люди, которым вы доверяете, имеют доступ к машине с ключами. Я просто хочу уточнить, что ваш закрытый ключ НЕ должен находиться на сервере, к которому вы подключаетесь, в случае, если вы этим занимаетесь. только ваш открытый ключ должен быть на сервере, и это не проблема, поэтому это «открытый» ключ.
о, я забыл упомянуть; я запускаю ssh-agent
при запуске X, в противном случае зашифрованные ключи, которые я храню ssh-add
, не сохраняются в разных xterm
сеансах, и мне приходится повторно вводить пароль каждый раз, когда я закрываю xterm
запущенный файл ssh-add
. в моем ~/.xinitrc
файле, у меня есть:
if [ -x /usr/bin/ssh-agent ]; then
eval $(/usr/bin/ssh-agent)
fi
у меня есть вызов ssh-agent
обернутого, eval
потому что ssh-agent возвращает некоторые переменные окружения, которые должны быть установлены, когда он запускается и запускается ~/.xinitrc
, переменные окружения постоянны в течение сеанса X.