Подсистема Windows для Linux: ошибка при получении удостоверений: не удалось установить связь с агентом с помощью ключей от KeepassXC
Мои ssh-ключи хранятся в KeepassXC (версия 2.7.1). Я включил интеграцию SSH-агента в KeepassXC и использую OpenSSH. Я пробовал использовать Pageant и «Использовать оба агента», но это не работает, поскольку не удается подключиться к агенту ssh. KeepassXC установлен на моей Windows 10.
У меня запущен агент аутентификации OpenSSH, запущен и включен автоматически. После всех этих настроек я вижу, что ключи загружаются в моей PowerShell.
Следуя руководству README из этого репозитория https://github.com/rupor-github/wsl-ssh-agent, у меня есть:
- Установлен
socat
в WSL2 - Установлен
wsl-ssh-agent.exe
и работает в Windows 10. - Хранится
npiperelay.exe
в разделе Windows 10 (сейчас в папке «Документы»). - И добавил в конец моего
.zshrc
файл:
export SSH_AUTH_SOCK=$HOME/.ssh/agent.sock
ss -a | grep -q $SSH_AUTH_SOCK
if [ $? -ne 0 ]; then
rm -f $SSH_AUTH_SOCK
(setsid socat UNIX-LISTEN:$SSH_AUTH_SOCK,fork EXEC:"/mnt/c/Users/myusername/Documents/wsl-ssh-agent/npiperelay.exe -ei -s //./pipe/openssh-ssh-agent",nofork &) >/dev/null 2>&1
fi
- Запустил и перезапустил мою оболочку с помощью
exec zsh
или закрыл и снова открыл свой терминал и проверил, но я получаю это сообщение об ошибке:
error fetching identities: communication with agent failed
Я также попытался перезапустить службу агента KeepassXC и OpenSSH, та же ошибка. Но я могу подтвердить, что ключи все еще загружаются через мою PowerShell с помощьюssh-add -l
.
Что я делаю не так?
Обновление: мой WSL2 — это Debian.
> cat /etc/debian_version
11.3
> ssh -V
OpenSSH_8.4p1 Debian-5, OpenSSL 1.1.1n 15 Mar 2022
Моя Виндовс 10
PS C:\WINDOWS\system32> ssh -V
OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2
Может ли это быть из-за разницы версий OpenSSH, вызывающей проблему?
Обновление2:
Мне удалось обновить OpenSSH в Windows 10 до последней версии благодаря ответу на отдельный вопрос здесь: https://superuser.com/a/1609071/830668
PS C:\WINDOWS\system32> ssh -V
OpenSSH_for_Windows_8.9p1, LibreSSL 3.0.2
Перезапустил и проверил, ошибка осталась.