Сброс ssh-agent в подсистеме Windows для Linux (WSL)

Я пытаюсь использовать ssh-agent под WSL, но параметры SSH стираются после запуска скрипта

Из.bashrc (урезанная версия)

eval $(ssh-agent)
ssh-add

ssh-add -l
echo "SSH_AGENT_PID is" $SSH_AGENT_PID
echo "SSH_AUTH_SOCK is" $SSH_AUTH_SOCK

Подсказки для ключевой фразы затем показывают отпечаток пальца и соответствующие переменные

сразу после запуска (или отдельного скрипта)

ssh-add -l
echo "SSH_AGENT_PID is" $SSH_AGENT_PID
echo "SSH_AUTH_SOCK is" $SSH_AUTH_SOCK

дает

Could not open a connection to your authentication agent.
SSH_AGENT_PID is
SSH_AUTH_SOCK is

(приведено в порядок для удобства чтения)

агент все еще работает с оригинальным pid (проверено сверху) также пытался eval $(ssh-agent ) > /dev/null а также eval $(ssh-agent -s) и в сочетании

Почему они стираются? ssh-agent работал нормально до обновления Windows 1709 "Осеннее обновление создателей"

для информации: linux версия 4.4.0-43-Microsoft (Microsoft@Microsoft.com) (gcc версия 5.4.0 (GCC)) #1-Microsoft ср 31 дек. 14:42:53 PST 2014

Репост отсюда: https://superuser.com/questions/1278539/ssh-agent-reset-in-windows-subsystem-for-linux-wsl

3 ответа

Это поздний ответ для всех, кто прибывает сюда: https://github.com/Microsoft/WSL/issues/3183

Короткая версия: пересылка ssh-agent нарушена ошибкой getsockopt в wsl / ubuntu 18.04 (или любом другом linux, который я себе представляю).

На самом деле ни один из вышеперечисленных сценариев не работает в WSL2 Ubuntu 18.04. Единственным хорошим решением для меня было то, что я просто добавилeval "$(ssh-agent -s)"моему.bash_profile.

Эта проблема может быть фикс на Ubuntu 18.04 4.4.0-19041-Microsoft по следующему из здесь :

      [ -x /usr/bin/ssh-agent ] && eval "$(ssh-agent -s)"
ssh-add ~/.ssh/yourseckey

добавьте это в свой .bashrc

Другие вопросы по тегам