Настройка ssh-agent

by Evgeniy Kvasyuk

HTML

ssh-agent
Перейти к концу метаданных
Создатель Разработчик, отредактировано мар 27, 2017 Переход к началу метаданных
ssh-agent - система, позволяющая не вводить каждый раз пароль от SSH-ключа (RSA/DSA/etc.), который вы используете, чтобы, например, подключаться к Git.
Пользоваться ей очень просто. Запускаем:
# Проверяем, не запущен ли уже агент,
# если запущен, у вас видна переменная SSH_AUTH_SOCK:
echo $SSH_AUTH_SOCK
 
# Если не запущен:
eval $(ssh-agent)
Добавляем ключи:
ssh-add
Если у вас ключи лежат в других файлах помимо ~/.ssh/id_rsa, то добавляем их тоже: ssh-add /путь/к/ключу. Файлы ".pub" добавлять не надо.
Готово! Теперь при подключению к git, devel и другим серверам, вводить пароль от ssh-ключа не нужно.
Посмотреть список ключей:
ssh-add -l
Проброс
А самое крутое - это проброс SSH-агента:
Заходим на сервер с опцией -A (на devel):
ssh -A 10.4.0.17
А оттуда уже на git, но пароль вводить всё равно не нужно!
ssh -T [email protected]
Беспарольное подключение к devel
Копируем свой ssh ключ с локальной машины на devel. После этого ваш ключ окажется в ~/.ssh/authorized_keys и при подключении по ssh больше не будет спрашивать про пароль
ssh-copy-id -i ~/.ssh/id_rsa.pub 10.4.0.17
Автозапуск
Добавьте в ваш файл ~/.bash_profile (или ~/.profile, зависит от ОС):
[[ -z "$SSH_AUTH_SOCK" ]] && ! pgrep -u $USER ssh-agent >/dev/null && eval $(ssh-agent -s) && ssh-add ~/.ssh/id_rsa
trap 'kill $SSH_AGENT_PID' EXIT