Я прочитал и проследил некоторую онлайн-документацию о том, как настроить ssh-agent, чтобы мне не приходилось вводить пароль каждый раз, когда я подключаю ssh к удаленной машине.
Тем не менее, с помощью ssh-agent мне все равно нужно делать ssh-add
каждый раз, когда я перезагружаю оболочку. ssh-add
Затем просит меня ввести ключевую фразу , чтобы разблокировать секретный ключ.
Enter passphrase for key '/home/xx/.ssh/id_rsa':
Вместо того, чтобы вводить пароль для удаленного компьютера, меня просят ввести пароль для закрытого ключа. Это все равно что выйти из чистилища и потом оказаться в аду. Похоже, что id_rsa только временно добавляется в ssh-agent в сеансе , потому что каждый раз, когда я вхожу в систему и печатаюssh-add -l
. Я получил:
The agent has no identities.
Могу я спросить, как постоянно хранить ключ (id_rsa) в ssh-agent? Благодарность
РЕДАКТИРОВАТЬ: это то, что я сделал с ssh-agent
. Я добавил следующий блок в~/.bash_profile
SSHAGENT=/usr/bin/ssh-agent
SSHAGENTARGS="-s"
if [ -z "$SSH_AUTH_SOCK" -a -x "SSHAGENT" ]; then
eval `$SSHAGENT $SSHAGENTARGS`
trap "kill $SSH_AGENT_PID" 0
fi
ssh-add
имеет ли запуск эффект, который длится дольше, чем окно оболочки, в которое вы его набрали.ssh-agent
постом.Ответы:
Я установил брелок.
sudo apt-get установить брелок
Если вы используете bash, вам нужно добавить несколько команд в ваш .bash_profile. Если у вас нет .bash_profile, создайте его в своей домашней папке. Добавьте эти строки:
В начале рабочего дня я войду в систему. Когда я открываю терминал, мне будет предложено ввести пароль. Для всех других новых терминалов и соединений мне больше не придется запрашивать мою фразу-пароль.
источник
ssh-add
в терминале?То, что вы ищете, менее безопасно, но это может быть выполнено с использованием аутентификации с открытым ключом без использования ssh-agent. Более безопасный вариант - использовать аутентификацию с открытым ключом с парольной фразой при отключении аутентификации по паролю на сервере ssh, но это не то, что вы просили. Смотрите ссылку внизу этого ответа для получения инструкций, если вы решите сделать это вместо этого.
Чтобы использовать ssh без запроса какой-либо парольной фразы, вам нужно сгенерировать пару ключей, оставив поле пароля незаполненным.
Чтобы убедиться, что вы уже сгенерировали пару ключей, проверьте файлы id_rsa и id_rsa.pub в каталоге ~ / .ssh. Если они уже есть, вы можете удалить их или переместить, чтобы создать новую пару ключей.
Обратите внимание, что при их удалении вы потеряете доступ к любым ssh-серверам, которые вы используете, а затем к старым ключам для аутентификации, если на сервере отключена аутентификация по паролю.
Чтобы создать новую пару ключей, выполните следующую команду:
Примите расположение ключей по умолчанию и оставьте фразу-пароль пустой.
Чтобы передать свой открытый ключ серверу ssh, к которому вы хотите подключиться, используйте следующую команду:
Выполнив эти шаги, вы сможете войти на удаленный сервер без пароля с компьютера, который вы используете.
Ссылка: http://tombuntu.com/index.php/2008/02/20/public-key-authentication-for-ssh-made-easy/
источник
Некоторое время назад у меня внезапно начали спрашивать пароль, чтобы разблокировать мой ключ ssh при выполнении
git push
. Оказалось, что для того, чтобы перестать запрашивать парольную фразу, достаточно было добавить агент ключа SSH (GNOME Keyring: агент SSH) в автозагрузку приложений (в моем случае - просто поставить галочку):источник