Юбики SSH на Cygwin терпит неудачу, но Putty успешно
Я пытаюсь настроить свой Yubikey на Windows таким образом, чтобы я мог использовать SSH на своем сервере.
Я успешно сгенерировал ключи на нем и извлек открытый ключ в формате SSH (я сделал это на виртуальной машине Linux). Теперь я пытаюсь использовать Yubikey для SSH из Windows на сервер Linux.
Замазка работает из коробки, как описано здесь. Однако у меня возникли проблемы с настройкой Cygwin. Я был уверен, что не установил пакеты Gnupg. Я установил пакеты ssh-pageant, которые должны заставить его работать с агентом Putty. Затем я добавил следующую строку в мой bashrc:
eval $(/usr/bin/ssh-pageant -r -a "/tmp/.ssh-pageant-$USERNAME")
Поскольку для входа в систему используется другой пользователь, я также попытался выполнить следующую команду.
eval $(/usr/bin/ssh-pageant -r -a "/tmp/.ssh-pageant-yubikeytest")
Тем не менее, я получаю следующую ошибку при попытке подключения
$ ssh yubikeytest@127.0.0.1
Pseudo-terminal will not be allocated because stdin is not a terminal.
yubikeytest@127.0.0.1: Permission denied (publickey).
Я могу видеть детали карты, используя gpg --card-status
, Тем не мение, gpg --card-edit
не возвращает никакого вывода, и я должен вручную завершить процесс.
Я также могу видеть карту в Клеопатре.
Кроме того, я не могу увидеть ключ при запуске ssh-add.
$ ssh-add -L
Error connecting to agent: No such file or directory
Я также попытался добавить следующий код в мой файл bashrc, но он дает те же результаты.
export GPG_TTY=$(tty)
gpg-connect-agent updatestartuptty /bye
unset SSH_AGENT_PID
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
РЕДАКТИРОВАТЬ:
MINGW64 также работает (используя ранее упомянутый eval
команда)