Problematisches SSH für die virtuelle Maschine von Vagrant

4212
grenade

Ich habe eine Vagrant-Gast-VM, die FC18 auf einem Host mit FC19 ausführt. Die Gastvagrantdatei enthält ein öffentliches Netzwerk (config.vm.network 'public_network'). Nach einem Vagabund kann ich ifconfigdrei Netzwerkschnittstellen auf dem Gast sehen ( ):

  • lo: 127.0.0.1
  • p2p1: 10.0.2.15
  • p7p1: 10.3.76.86 (von dhcp)

Ich kann SSH für den Gast vom Host verwenden, entweder mit vagrant sshoder ssh -p 2222 vagrant@127.0.0.1der automatisch zugewiesenen 2222 (Host) -> 22 (Gast) Port Forwarder im automatisch erstellten privaten Netzwerk . Wenn ich von dem Host zu dem zu ssh versuche öffentliche Netz auf dem Gast mit: ssh -p 22 vagrant@10.3.76.86, erhalte ich eine SSH Antwort von: Connection refused. Das ist seltsam, aber noch seltsamer ist, dass ich, wenn ich zu einem völlig anderen (Windows) -Host (im selben Netzwerk) gehe und laufe ssh -p 22 vagrant@10.3.76.86, (gelegentlich) erfolgreich eine Verbindung herstellen kann. Ich sage gelegentlich, weil ich den ssh-Befehl 10 oder 15 Mal wiederholen muss (Antwort erhalten bad file number), bevor ich schließlich eine erfolgreiche SSH-Verbindung bekomme. Wenn ich die SSH-Eingabeaufforderung 3 oder 4 Minuten offen lasse, wird die Verbindung mit einer connection reset by peerNachricht getrennt.

Was ist denn hier los? Wie bekomme ich verlässliche SSH für das öffentliche Netzwerk des Gastes? Bevor Sie es vorschlagen, ist SELinux sowohl im Gast- als auch im Hostmodus im permissiven Modus, und ich habe den iptables-Dienst für beide gestoppt. Das Netzwerk unterstützt auch viele SSH-Verbindungen zwischen anderen Hosts ohne Probleme. Der Vagrant-Gast kann auch SSH ohne Ausgabe an andere Hosts. Nur beim SSHing an den Vagrant-Gast erhalten wir diese seltsamen Fehler.

Ausgabe vom ssh -p 22 vagrant@10.3.76.86FC19-Host:

$ ssh -vvv -p 22 vagrant@10.3.76.86 OpenSSH_6.2p2, OpenSSL 1.0.1e-fips 11 Feb 2013 debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 50: Applying options for * debug2: ssh_connect: needpriv 0 debug1: Connecting to 10.3.76.86 [10.3.76.86] port 22. debug1: connect to address 10.3.76.86 port 22: Connection refused ssh: connect to host 10.3.76.86 port 22: Connection refused 

Ausgabe von einem ssh -p 22 vagrant@10.3.76.86Windows-Host (wenn fehlgeschlagen):

$ ssh -vvv -o LogLevel=DEBUG3 -i /c/Users/xxx/.ssh/vagrant -p 22 vagrant@10.3.76.86 OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007 debug2: ssh_connect: needpriv 0 debug1: Connecting to 10.3.76.86 [10.3.76.86] port 22. debug1: connect to address 10.3.76.86 port 22: Connection refused ssh: connect to host 10.3.76.86 port 22: Bad file number 
1
Beim Erstellen von Vagrant-Boxen wird empfohlen, DNS auf dem SSH-Daemon zu deaktivieren, indem Sie der Datei / etc / ssh / sshd_config in Ihren Vagrant-Boxen "DNS no" hinzufügen und den SSH-Dienst anschließend neu starten. Dadurch werden die DNS-Suchvorgänge der Clients deaktiviert, die versuchen, eine Verbindung mit der Vagrant-Box herzustellen. Dies kann bei Ihren sporadischen Verbindungen der Fall sein. vor 10 Jahren 0
In einigen Fällen, nachdem ich zum ersten Mal ein "Vagabund" auf einer neuen Box durchgeführt hatte, musste ich die Netzwerkdienste neu starten, bevor SSH ordnungsgemäß funktioniert hat. Unter Ubuntu habe ich gerade die Datei /etc/init.d/networking restart zur Datei /etc/rc.local hinzugefügt. Ich bin nicht sicher, was der entsprechende Fedora-Prozess ist. vor 10 Jahren 0
Verwandte: [wie man ssh zu einem VirtualBox-Rechner macht?] (Http://superuser.com/q/515216/87805) kenorb vor 8 Jahren 0

0 Antworten auf die Frage