Выполнение ssh на cygwin под Windows 10 недавно начало сбоить после многих лет стабильного входа в систему. Соответствующий вывод ssh под mintty от Xwindows:
% ssh -tt -vvv <user@host>
debug3: Failed to open file:C:\\ProgramData\\ssh/ssh_known_hosts error:2
debug3: Failed to open file:C:\\ProgramData\\ssh/ssh_known_hosts2 error:2
debug3: failed to open file:/dev/tty error:3
debug1: read_passphrase: can't open /dev/tty: No such file or directory
debug3: spawning /usr/X11R6/bin/ssh-askpass
CreateProcessW failed error:2
ssh_askpass: posix_spawn: No such file or directory
Host key verification failed.
Там есть специальный файл / dev / tty:
% ls -la /dev/tty
crw-rw-rw- 1 jpmattia None 5, 0 May 22 15:04 /dev/tty
Я обновил Cygwin, чтобы убедиться, что все двоичные файлы были последними. Также окна обновились ранее на этой неделе.
Я немного озадачен тем, что может происходить. Подсказки приняты с благодарностью.
Документирование моего решения на случай, если проблема возникнет у кого-то еще: похоже, что версия OpenSSH для Windows была представлена в весеннем обновлении 2018 г. и вызывается вместо ssh Cygwin. (См., Например, https://www.zdnet.com/article/openssh-arrives-in-windows-10-spring-update/)
% which ssh
/cygdrive/c/WINDOWS/System32/OpenSSH/ssh
Причина внезапной проблемы с ssh заключается в том, что в пути cygwin PATH находится / cygdrive / c / WINDOWS / System32 перед / usr / bin /. По крайней мере, мой.
Таким образом, проблема решается явным вызовом / usr / bin / ssh. (Изменение порядка PATH также является возможным решением, но не для моей среды.)
Если при новой установке cygwin возникают те же проблемы, обязательно выберите пакеты openssh как часть установки.
Клиент ssh поставляется с Windows 10, его можно использовать только через cmd.exe, а не через терминал cygwin