经过多年的稳定登录,在
Windows 10下执行ssh on cygwin最近开始失败.来自Xwindows的ssh的相关输出:
% 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以确保所有二进制文件都是最新的. Windows本周早些时候也更新了.
对于可能发生的事情,我有点困惑.线索感激地接受了.
记录我的解决方案以防其他人遇到问题:看起来在2018春季更新中引入了Windows版本的OpenSSH,并且它被调用而不是Cygwin的ssh. (参见例如
https://www.zdnet.com/article/openssh-arrives-in-windows-10-spring-update/)
% which ssh /cygdrive/c/WINDOWS/System32/OpenSSH/ssh
ssh突然出现问题的原因是cygwin PATH在/usr/bin /之前有/ cygdrive / c / WINDOWS / System32.或者至少,我的确如此.
所以通过显式调用/usr/bin/ssh解决了这个问题. (重新排序PATH也是一种可能的解决方案,但不适用于我的环境.)