
У меня возникли проблемы с настройкой ssh-agent-forwarding.
Что я хочу сделать: Я хочу, чтобы мой открытый ключ был на сервере Ubuntu, а закрытый ключ — локально на моей машине Windows. Я хочу подключиться к серверу Ubuntu, не вводя пароль моего закрытого ключа, поскольку он хранится в Pagent. Эта часть работает безупречно. Следующая часть — та, которая не работает.
После подключения к серверу Ubuntu я хочу подключиться по git/ssh к другим серверам, используя только ключ, который находится на моей машине Windows в pagent.
Что я сделал на данный момент: У меня есть Windows Client с установленным Pagent. Ключ настроен на машине Windows. Я могу подключиться к Ubuntu-серверу и авторизоваться по закрытому ключу, который я настроил. Также я активировал «Разрешить пересылку агента» в Putty.
Вот как выглядит мой ssh_config:
Host *
ForwardAgent yes
В чем проблема: При подключении к серверу и вводе команды «ssh-add -l» сервер сообщает мне: «У агента нет идентификационных данных».
Что я забыл?
решение1
Сначала проверьте, что сервер разрешает пересылку агента ( AllowAgentForwarding
в sshd_config
), и если нет, разрешите ее и перезапустите службу sshd. Затем дважды проверьте, что она действительно включена в PuTTY. Если оба варианта в порядке, проверьте журнал отладки из putty. Если пересылка не удалась, должна быть какая-то информация о причине.
решение2
Я нашел свою проблему.
я имел
eval $(ssh-agent)
в моем .bashrc.
После удаления этой строки переадресация заработала.