Я создал этот вопрос как напоминание для меня, так как обычно я настраиваю SSH-агента только раз в несколько лет.
Итак, как можно настроить SSH-агент под Windows, если предполагается использование оболочки типа linux?
Я решил добавить команды запуска в файл .zshrc, чтобы он запускался каждый раз, когда я запускаю новую оболочку. Итак, вот команды:
# startup of the ssh-agent
AGENT_PID=$(pgrep -x ssh-agent)
if [ $? -ne 0 ]; then
echo "~/.zshrc: Starting SSH Agent!"
eval `ssh-agent` && ssh-add ~/.ssh/id_rsa
setx SSH_AUTH_SOCK $SSH_AUTH_SOCK
setx SSH_AGENT_PID $SSH_AGENT_PID
echo "~/.zshrc: SSH Agent running (PID: $SSH_AGENT_PID)"
else
echo "~/.zshrc: SSH Agent already running (PID: $AGENT_PID)"
fi
eval `ssh-agent`
запускает агент и оценивает его вывод, который устанавливает переменные окружения SSH_AUTH_SOCK
и SSH_AGENT_PID
ssh-add
добавляет указанный секретный ключ к агенту, который первоначально запросит пароль секретного ключа.После этого все готово, и агент работает и может использоваться, как только вы впервые запустили оболочку. Чтобы убедиться, что агент запускается при запуске Windows, вы также можете добавить средство запуска оболочки в автозапуск Windows.
для меня то, что сработало, это следовать настройке Oracle cygwin ssh [1] Оттуда вас интересует установка Cygwin, а затем настройка SSH. Я использую эту настройку в работе для всех видов КС для подключения к машинам и проведения там тестов. Вы можете выполнять большинство команд Linux, а также использовать команды Windows, что довольно круто.
В основном оболочка Linux в Windows :-)
Ура,
Мартин
[1] https://docs.oracle.com/cd/E24628_01/install.121/e22624/preinstall_req_cygwin_ssh.htm#EMBSC150