2016-04-06 4 views
3

Ich habe eingerichtet, eine ssh-Verbindung auf meinem lokalen Computer fein, aber wenn ich es auf unserem CI-Server tun, ist es scheitern und ich kann nicht herausfinden, warum.Gemeinsame SSH-Verbindung mit Control Master funktioniert nicht

die ~/.ssh/config ist

StrictHostKeyChecking=no 
Host * 
ControlMaster auto 
ControlPath ~/.ssh/control:%h:%p:%r 
ControlPersist 2h 

Erste Verbindung fehlschlägt, wird aber schaffen die Steckdose, wird zweite Verbindung ausfallen als die Steckdose abgestanden ist.

Das Ende der ausführlichen Ausgabe von der ersten Verbindung ist ....

$ ssh -vvvv -N [email protected] 

.... 

debug1: Enabling compatibility mode for protocol 2.0 
debug1: Local version string SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.6 
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1 
debug1: match: OpenSSH_6.6.1 pat OpenSSH_6.6.1* compat 0x04000000 

.... 

Authenticated to domain.co.uk ([88.47.112.93]:22). 
debug1: setting up multiplex master socket 
debug3: muxserver_listen: temporary control path /home/rof/.ssh/control:domain.co.uk:22:user.3HfyjbhRCDHGwnrI 
debug2: fd 4 setting O_NONBLOCK 
debug3: fd 4 is O_NONBLOCK 
debug3: fd 4 is O_NONBLOCK 
debug1: channel 0: new [/home/rof/.ssh/control:domain.co.uk:22:user] 
debug3: muxserver_listen: mux listener channel 0 fd 4 
debug2: fd 3 setting TCP_NODELAY 
debug3: packet_set_tos: set IP_TOS 0x08 
debug1: control_persist_detach: backgrounding master process 
debug2: control_persist_detach: background process is 84004 
Control socket connect(/home/rof/.ssh/control:domain.co.uk:22:user): Connection refused 
Failed to connect to new control master 
debug1: forking to background 
debug1: Entering interactive session. 
debug2: set_control_persist_exit_time: schedule exit in 7200 seconds 

Wenn Sie es ohne die Option -n die Befehlseingabe gerade hängt laufen.

Alle nachfolgenden SSH-Verbindungen sagen, der Socket ist veraltet und die Verbindung wird getrennt, so dass keine gemeinsame Verbindung verwendet wird.

Irgendwelche Ideen?

Antwort

8

Für alle anderen mit diesem Problem, war dies aufgrund der Tatsache, dass der CI-Server, den wir verwenden, overlayfs als Dateisystem verwendet, die nicht schön mit Unix-Sockets spielen.

Um dies zu beheben, sparte ich den Socket im virtuellen Speicher statt ..

ControlPath /var/shm/control:%h:%p:%r 
+1

Du bist ein Lebensretter - danke! Bei meinem Setup musste ich '/ var/shm' in das häufigere'/dev/shm' ändern. –

+0

Das gleiche Problem wurde beim Versuch, Steuermaster innerhalb einer Ubuntu LiveCD-Eingabeaufforderung einzurichten, festgestellt - die gleiche Lösung funktioniert auch dort! – humbletim

Verwandte Themen