SSH kann nicht an VM gesendet werden


7

Ich habe eine VM mit einem benutzerdefinierten Disk-Image (CentOS) von der Arbeit installiert und kann kein SSH in die VM einbinden.

Hier sind einige Dinge, die ich versucht habe:

[VM]$ ssh root@localhost
Password:

Großartig, ssh arbeitet mit dem Loopback.

Aber wenn ich es vom Host-Computer aus versuche:

~/VirtualBox VMs% ssh -v -v -v root@192.168.56.1
OpenSSH_5.9p1, OpenSSL 0.9.8y 5 Feb 2013
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 192.168.56.1 [192.168.56.1] port 22.
debug1: connect to address 192.168.56.1 port 22: Connection refused
ssh: connect to host 192.168.56.1 port 22: Connection refused

Nada. Ping funktioniert aber.

auf der VM /etc/hosts.allow:

ssh:ALL:allow
sshd:ALL:allow

nichts in hosts.deny

EDIT:
Ich habe auch getan:

service iptables save
service iptables stop
chkconfig iptables off

BEARBEITEN:
Ich sehe diese Meldung auch auf der VM in / var / log / Secure.
an Portkonflikt binden
Aber ich kann problemlos von der VM zur VM ssh, also ist dies nicht das Problem, oder?

BEARBEITEN: [VM]$ lsof -i :22 lsof -i: 22 Ausgabe

Und ich habe in / etc / ssh / sshd_config

PermitRootLogin yes  

Und kann sich nicht mit einem separaten Benutzernamen anmelden.

EDIT:
netstat -pant |grep :22und netstat -ntp |grep :22 netstat -pant und netstat -ntp
ich denke, vielleicht deutet dies auch auf die IPv6-Lösung hin?

BEARBEITEN:
Vorhandene Konfiguration für vi /etc/sysctl.conf /etc/sysctl.conf

Neue Konfiguration für vi /etc/sysctl.conf /etc/sysctl.conf nach Änderung Ich habe dann die Befehle ausgeführt:

sysctl -w net.ipv6.conf.default.disable_ipv6=1
sysctl -w net.ipv6.conf.all.disable_ipv6=1
chkconfig ip6tables off
service sshd restart
init 6

Aaaaaaund immer noch nichts. Aber nach einem Neustart sieht es so aus, als ob IPv6 nicht deaktiviert ist. Ich erhalte die gleiche Fehlermeldung. Port 22 kann nicht gebunden werden Und lsof -i :22sagt immer noch Typ IPv6: lsof -i: 22

EDIT: Weiter unten im IPv6-Kaninchenbau.
http://ubuntu-tutorials.com/2008/01/12/disabling-ssh-connections-on-ipv6/
Es heißt, die kommentierte Zeile mit zu entfernen #ListenAddress ::, was faul erscheint, da sie bereits auskommentiert ist. Also habe ich es getan und nichts.

Der nächste Abschnitt enthält jedoch einen nützlichen Leckerbissen: AddressFamily inet # IPv4 only Wenn ich diese Zeile hinzufüge /etc/ssh/sshd_configund einige aufeinanderfolgende Neustarts durchführe, wird jetzt angezeigt, dass mein Adressbindungsfehler nicht mehr angezeigt wird /var/log/secure / var / log / secure
und die Ausgabe von lsof -i :22jetzt einen IPv4-Typ anzeigt! Ja, Fortschritt!  lsof -i: 22 zeigt IPv4 Fortschritt!! Aber leider kann ich mich immer noch nicht verbinden. Ich habe versucht, die VM neu zu starten und neue Shell-Fenster zu öffnen, für den Fall, dass noch ein Status vorhanden ist. Immer noch die gleiche Antwort.

~% ssh -vvv root@192.168.56.1
OpenSSH_5.9p1, OpenSSL 0.9.8y 5 Feb 2013
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 192.168.56.1 [192.168.56.1] port 22.
debug1: connect to address 192.168.56.1 port 22: Connection refused
ssh: connect to host 192.168.56.1 port 22: Connection refused

EDIT:
ok, also habe ich arp-scan bekommen und versuche IP-Konflikte zu finden, aber jetzt bin ich noch verwirrter. ifconfig zeigt an, dass vboxnet0, der Nur-Host-Adapter, eine IP von 192.168.56.1 hat. Dort habe ich zuerst diese IP bekommen.

[local]~root# ifconfig  
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    options=3<RXCSUM,TXCSUM>
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 
    inet 127.0.0.1 netmask 0xff000000 
    inet6 ::1 prefixlen 128 
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 7c:d1:c3:e8:b0:e9 
    inet6 fe80::7ed1:c3ff:fee8:b0e9%en0 prefixlen 64 scopeid 0x4 
    inet 10.6.12.46 netmask 0xfffffe00 broadcast 10.6.13.255
    media: autoselect
    status: active
p2p0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2304
    ether 0e:d1:c3:e8:b0:e9 
    media: autoselect
    status: inactive
vboxnet0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 0a:00:27:00:00:00 
    inet 192.168.56.1 netmask 0xffffff00 broadcast 192.168.56.255
vboxnet1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 0a:00:27:00:00:01 
    inet 192.168.57.1 netmask 0xffffff00 broadcast 192.168.57.255

Gibt aber arp-scan -lnur Domains ab 10.6. *. *
Also denke ich, es geht um en0? Also habe ich es versucht
arp-scan -I vboxnet0 -l

mba-108-on-03:~ root# arp-scan -I vboxnet0 -l
Interface: vboxnet0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.8 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/)
192.168.56.100  08:00:27:bc:ed:2f   CADMUS COMPUTER SYSTEMS

512 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.8: 256 hosts scanned in 1.301 seconds (196.77 hosts/sec). 1 responded

Warum ist es jetzt .100? #verwirrt

vboxnet1 hat nichts

mba-108-on-03:~ root# arp-scan -I vboxnet1 -l
Interface: vboxnet1, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.8 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/)

512 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.8: 256 hosts scanned in 1.302 seconds (196.62 hosts/sec). 0 responded

Alle anderen Schnittstellen funktionieren nicht mit Arp-Scan.

Zeigen wir also Duplikate auf der en0-Schnittstelle an:

mba-108-on-03:~ root# arp-scan -I en0 -l |grep DUP
10.6.12.68  84:8e:0c:75:5b:f4   (Unknown) (DUP: 2)
10.6.12.64  ac:cf:5c:42:24:47   (Unknown) (DUP: 2)
10.6.12.76  88:53:95:6e:6a:af   (Unknown) (DUP: 2)

Diese Zahlen entsprechen nichts, was für mich von Bedeutung ist. Versuchen Sie einen Neustart und dann den IPv6-Vorschlag.

BEARBEITEN:
Die VM ist eine VirtualBox.
Adapter 1: NAT
Adapter 2: Nur-Host-Adapter, 'vboxnet0' Konfiguration von Adapter1 Konfiguration von Adapter2
Irgendwelche Ideen?


Antwort auf askubuntu.com/questions/30080/… könnte helfen
mkc

Versuchen Sie, an der Brücke befestigt
Kevin

mit "Bridged Adapter" erhält das gleiche Ergebnis
Ken

2
Was ist die Ausgabe von lsof -i :22?
Chris Down

Sieh aus wie IP-Konflikt
SHW

Antworten:


4

Ok, so kam es schließlich zusammen:

Einer meiner Mitarbeiter erinnerte sich daran, dass für das Disk-Image "möglicherweise keine zweite Schnittstelle aktiviert ist". Da die VBox mit NAT als Adapter 1 und Host-only als Adapter 2 eingerichtet ist, müssen eth0 und eth1 auf dem Disk-Image eingerichtet sein. Wir haben nicht.

Um dies zu tun:

  • ifconfig |lessStellen Sie sicher , dass nicht sowohl eth0 als auch eth1 aufgeführt sind.
  • cd /etc/sysconfig/network-scripts/
  • cp ifcfg-eth0 ifcfg-eth1
  • cp ifcfg-eth0.bak ifcfg-eth1.bak
  • Bearbeiten Sie die Dateien und entfernen Sie alles mit HWaddrund ändern Sie eth0 in eth1 ifcfg-eth1
  • ifup eth1
  • dann laufe ifconfigund nimm das inet addrvon eth1, was für mich eine andere IP war. Ich arbeite jetzt mit 192.168.56.101.
  • Führen Sie Init 6 aus, um neu zu starten, und stellen Sie sicher, dass eth1 jetzt automatisch gestartet wird.
  • Vom Host aus anmelden: ssh root@192.168.56.101

Keine der Änderungen in der obigen Frage war tatsächlich mein Problem, aber es sind alles gute Debug-Informationen !!

Prost,
Ken


3

Es sieht so aus, als ob der ssh-Daemon IPv6 (aus der Ausgabe von lsof -i :22) verwendet, während Sie versuchen, eine Verbindung mit IPv4 herzustellen. Das System weiß nicht, wie der Verkehr weitergeleitet werden soll.

Ich bin mir nicht sicher über den IP-Konflikt, den Sie sehen, würde aber empfehlen, Folgendes zu versuchen:

  1. Deaktivieren Sie IPv6

    Fügen Sie Folgendes hinzu: /etc/sysctl.conf

    net.ipv6.conf.all.disable_ipv6 = 1
    net.ipv6.conf.default.disable_ipv6 = 1
    

    Deaktivieren Sie IPv6 auf dem laufenden System

    sysctl -w net.ipv6.conf.default.disable_ipv6=1
    sysctl -w net.ipv6.conf.all.disable_ipv6=1
    

    Deaktivieren Sie iptables für IPv6

    chkconfig ip6tables off
    
  2. Starten Sie etwas neu!

    Sie müssen den sshDaemon oder das Betriebssystem neu starten, damit die Änderungen wirksam werden.

    Also neu starten sshd

    service sshd restart
    

    Oder starten Sie das Betriebssystem selbst neu

    init 6
    

Vergessen Sie nicht, dass Sie möglicherweise keine Route zum Host haben und möglicherweise über die Verwendung des Bridged-Modus nachdenken, damit Ihr DHCP-Server eine korrekte Adresse vergeben kann.

Weitere Informationen zum Deaktivieren von IPv6 finden Sie im CentOS-Wiki


Ich habe Ihre Befehle ausprobiert, aber sie scheinen IPv6 nicht deaktiviert zu haben. Ich erhalte immer noch den Bindungsfehler in / var / log / Secure und lsof -i: 22 meldet immer noch eine Art von IPv6
Ken

1
Ich habe sshd dazu gebracht, IPv4 zu melden, aber das Problem wurde nicht behoben. : \
Ken

Wenn Sie Ihren Beitrag lesen, scheint es zwei Probleme zu geben: IPv4-Routing und Konfiguration des Ethernet-Adapters. Ich bin froh, dass Sie das Problem gefunden haben.
Nathan McCoy

0

Ihre Verbindung wird abgelehnt, weil Sie versuchen, als Root-Benutzer zu ssh? (Ich könnte falsch liegen).

Versuchen:

ssh <host_username>@<ipaddress> 

Benutzt du auch einen Mac? Wenn ja, aktivieren Sie die Remote-Anmeldung über Systemeinstellungen-> Freigabe. Aktivieren Sie die Option Remote-Anmeldung.


1
Ich habe PermitRootLogin ja und ich kann mich als ein anderer Benutzername anmelden, den ich erstellt habe.
Ken

Remote-Login einschalten? Aber ich versuche nicht, mich beim Mac anzumelden, der der Host-Computer ist. Ich versuche, mich bei der VM anzumelden, die als CentOS 5.4-Box konfiguriert ist.
Ken

Ohh! Es tut mir leid, ich habe Ihre Frage falsch verstanden. Mein Fehler!
Timber
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.