ssh auf cygwin (win10): read_passphrase: kann / dev / tty nicht öffnen:

8

Die Ausführung von ssh unter Cygwin unter Windows 10 schlug kürzlich nach vielen Jahren stabiler Anmeldungen fehl. Die relevante Ausgabe von ssh unter einer Münze von 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.

Die spezielle Datei / dev / tty ist da:

% ls -la /dev/tty
crw-rw-rw- 1 jpmattia None 5, 0 May 22 15:04 /dev/tty

Ich habe Cygwin aktualisiert, um sicherzustellen, dass alle Binärdateien auf dem neuesten Stand sind. Auch Windows hat sich Anfang dieser Woche aktualisiert.

Ich bin ein wenig ratlos darüber, was los sein könnte. Hinweise dankbar angenommen.

JP Mattia
quelle

Antworten:

10

Dokumentation meiner Lösung für den Fall, dass jemand anderes das Problem hat: Es scheint, dass im Frühjahrsupdate 2018 eine Windows-Version von OpenSSH eingeführt wurde, die anstelle von Cygwins ssh aufgerufen wird. (Siehe z. B. https://www.zdnet.com/article/openssh-arrives-in-windows-10-spring-update/ )

% which ssh
/cygdrive/c/WINDOWS/System32/OpenSSH/ssh

Der Grund für das plötzliche Problem mit ssh ist, dass der Cygwin-Pfad / cygdrive / c / WINDOWS / System32 vor / usr / bin / hat. Oder zumindest meine.

Das Problem wird also gelöst, indem / usr / bin / ssh explizit aufgerufen wird. (Das Neuordnen des PFADS ist ebenfalls eine mögliche Lösung, jedoch nicht für meine Umgebung.)

JP Mattia
quelle
1
/ usr / bin enthält nicht sshin meiner Neuinstallation von Cygwin :(
Christoph Geschwind
Guter Punkt: Mein cygwin ssh ist wahrscheinlich mit dem openssl-Paket vom Cygwin-Installationsprogramm gekommen.
JP Mattia
1
Cygwin verfügt über ein openssh-Paket, das installiert werden muss, um die Tools ssh client und ssh client zu erhalten.
Jason Slobotski
1
Wie andere Kommentare angedeutet haben, müssen Sie auch installieren openssh, da es nicht standardmäßig installiert ist.
Timelmer
1
Wenn Sie openssh installieren (indem Sie das cygwin-Installationsprogramm erneut ausführen und das openssh-Paket auswählen), sollte der Befehl "which ssh" so wechseln, dass "usr / bin / ssh" anstelle von "cygdrive / c / WINDOWS / ..." (ohne) angezeigt wird zusätzliche manuelle
Pfadumordnung
1

Wenn bei einer Neuinstallation von cygwin Probleme mit denselben auftreten, müssen Sie im Rahmen der Installation openssh-Pakete auswählen

Der mit Windows 10 gelieferte SSH-Client kann nur über cmd.exe und nicht über das Cygwin-Terminal verwendet werden

Skelator
quelle