2014-01-06 7 views
19

Kann jemand Control-Master mit Cygwin unter Windows verwenden, um mehrere Sitzungen zu erstellen, ohne sich mehrfach anmelden zu müssen? Ich muss eine Folge von SSH-Schritten automatisieren, kann aber den Benutzer nicht jedes Mal bitten, das erforderliche Token-Passwort einzugeben.Ist SSH ControlMaster mit Cygwin unter Windows überhaupt möglich?

Ich habe meine Cygwin ssh_config mit folgenden konfiguriert:

Host * 
    ControlMaster auto 
    ControlPath /tmp/%[email protected]%h:%p 

Und ich bekomme die folgende Fehlermeldung auf dem Master, wenn ich eine zweite Verbindung zu starten, die wiederum für die Eingabe des Kennworts auffordert:

mm_receive_fd: no message header 
process_mux_new_session: failed to receive fd 0 from slave 

Ich habe andere mit diesem Problem gesehen, aber ich kann keine Lösung dafür finden.

Hat jemand diese Arbeit gemacht?

+2

Off-Thema für die Frage, aber mit 'ControlPath/tmp/...' wahrscheinlich bereitet Sie für einen Angriff, wo jemand anderen Ihren/Ihre vorhersagbare Datei zuerst/tmp schreibt. Verwenden Sie stattdessen den relativen Pfad 'ControlPath% r @% h:% p', damit wird es in Ihre' ~/.ssh' eingefügt. – clacke

Antwort

19

Offenbar ist die Schlussfolgerung nach viel Suchen, dass es derzeit NICHT möglich ist. Dies waren die einzigen Links, die ich gefunden, die mit dieser behandelt:

https://stackoverflow.com/questions/17140457/imitating-a-shared-ssh-session-for-scripts-on-windows „... aber es gibt keine Implementierung von OpenSSH für Windows, die tut dies (Dateideskriptoren über Unix-Sockets funktionieren nicht in Cygwin).“ „Wenn Sie OpenSSH auf Cygwin verwenden Sie nicht in der Lage sein, die Vorteile der Verbindung Caching zu nehmen, weil Cygwin momentan nicht Dateideskriptors unterstützen vorbei über Unix-Domain-Sockets Leider.“ und

http://gcc.gnu.org/wiki/SSH_connection_caching

+1

Ich mag diese Antwort im Jahr 2008: "Pläne, ja, für eine lange Zeit. Updates, nein." http://www.cygwin.com/ml/cygwin/2008-06/msg00280.html – clacke

+6

Und hier ist [Bestätigung im Jahr 2015] (https://cygwin.com/ml/cygwin/2015-01/msg00123.html) Nein, das ist immer noch nicht möglich. Das ist sehr schade. –

3

Für Cygwin scheint es immer noch nicht möglich, aber in Windows ist es möglich. Ich habe das in Windows arbeiten mit WSL-SSH-PAGEANT und der Windows Ubuntu Bash/WSL).

Unter Bash installieren Socat. Dann starte wsl-ssh-pageant wie es heißt, dann mit der while-Schleife und exportiere. Wenn Sie Ihren Controlmaster unter .ssh Setup korrekt eingerichtet haben und das Verzeichnis für ControlPath erstellt wurde, sollte es funktionieren.

+0

Ja, ControlPath funktioniert für SSH auf WSL! – ColinM

Verwandte Themen