SSH in VirtualBox-Gast: Verbindung abgelehnt

21

Installieren

  • Windows 7 64-Bit-Hostbetriebssystem mit VirtualBox 4.2 und Ubuntu 12.04-Gastbetriebssystem.
  • Der OpenSSH-Server ist installiert und wird ausgeführt ( ssh -v localhost verbindet sich lokal auf dem Gastcomputer).
  • Kann SSH zu externen Servern (keine ausgehende Windows-Firewall-Regel blockiert Port 22)
  • Kann die IP des Gastes anpingen (192.168.56.101)

Problem

Mit PuTTY to SSH auf die IP des Gastbetriebssystems (192.168.56.101) kehrt PuTTY fast sofort mit zurück

Netzwerkfehler: Verbindung abgelehnt

Wie kann ich dieses Problem diagnostizieren und beheben?

Eric J.
quelle

Antworten:

10

Sind Sie sicher, dass die IP für das Gastbetriebssystem bestimmt ist? Ich hatte das gleiche Problem und es stellte sich heraus, dass die IP, die ich die ganze Zeit verwendet hatte, die IP 192.168.56.101 tatsächlich die IP der Windows-Benutzeroberfläche und die IP des Host-Betriebssystems 192.168.56.103 war.

Sie können dies überprüfen, indem Sie ipconfig / ifconfig auf beiden ausführen.

ANMERKUNG: Ich hatte auch eine statische IP eingerichtet, die ich gar nicht benötigt habe. Falls Sie es von Anfang an versuchen, empfand ich dieses Tutorial als besser.

Saad Farooq
quelle
6
+1, Standardmäßig erstellt VirtualBox einen Gast, dessen virtueller Netzwerkadapter über VirtualBox selbst NAT-fähig ist. Daher wäre ein solcher Gast in der Lage, SSH auszulagern , und wäre in der Lage, sich selbst zu SSH , aber er wäre nicht in der Lage, SSH-Verbindungen zu empfangen, bis Portweiterleitungsregeln in VirtualBox erstellt wurden.
Gord Thompson
+1 Nach 1 Stunde Google-Mess endlich! Ich dachte, die .101 sei der Gast, nicht der Gastgeber!
Afr
6

Keine der anderen Lösungen ist gut, weil:

  1. Es hat keinen Sinn, Ihren Gast über eine Brücke zu erreichen, wenn der Gast den Zugang zum Internet verliert
  2. Alle anderen oben genannten Lösungen weisen Sie an, eine Rakete zu bauen, um die Straße zu überqueren.

Szenario

  • Host Ubuntu Desktop 16.04
  • Guest Ubuntu Server 16.04 (Laufen auf Virtual Box 5)

Problem

SSH-Verbindung abgelehnt

Lösung

  1. Schalte dein Gast-Ubuntu aus
  2. Gehen Sie in Virtualbox zu Setting> network> Adapter1> Advanced> Portforwarding
  3. Name = SSH Hostport = 2022 (oder jeder andere Port als 22) Guestport (22)
  4. Starten Sie Ihren Gast neu
  5. Öffne auf deinem Host einen Putty oder was auch immer du für SSH verwendest
  6. ssh [email protected] -p2022 (oder jeder Port, den Sie als Hostport angegeben haben)
  7. Viel Spaß dabei
Henrique Oliveira
quelle
Ich habe ein Problem damit: Auf Virtualbox-Einstellung> Netzwerk> Adapter1> Erweitert> Portforwarding ist grau nicht anklickbar. imgur.com/seT3p02
SL5net
@ SL5net Schalte die VM aus
Alon Gouldman
2

Folgendes funktioniert für mich:

Vor:

vboxnet0: 192.168.56.1
eth1:     192.168.56.1

Nach:

vboxnet0: 192.168.56.1
eth1:     192.168.56.101

Im Grunde habe ich einen Teil der Datei {/ etc / network / interfaces} folgendermaßen geändert:

Vor:

auto eth1
iface eth1 inet static
address 192.168.56.1
netmask 255.255.255.0 

Nach:

auto eth1
iface eth1 inet static
address 192.168.56.101
netmask 255.255.255.0 

Werke: ssh [email protected]

Mause Hai
quelle
Ich weiß nicht warum, das hat bei mir funktioniert. Thanks @Mause
murarisumit
2

Secure Shell (SSH) ist ein Protokoll zum Anmelden und Ausführen von Befehlen auf Remotecomputern. Es bietet sichere verschlüsselte Kommunikation. Wenn Sie über eine Firewall-Schnittstelle über SSH remote auf Ihren Computer zugreifen möchten, aktivieren Sie diese Option. Sie müssen das openssh-server-Paket installiert haben, damit diese Option nützlich ist.

Hier kommt die Information, dass das Paket openssh-serverinstalliert werden muss. Nachdem Sie dies auf dem Gast gemacht und den vm neu gestartet haben, können Sie ssh verwenden.

Alex44
quelle
Ich habe mein Ubuntu 16.04 nicht neu gestartet und es hat immer noch funktioniert. Danke :)
Oren Milman
1

Sie sollten sicherstellen, dass die Firewall Ihres Gastbetriebssystems eingehende Verbindungen an Port 22 nicht blockiert.

Serge
quelle
1
Die Firewall des Gastbetriebssystems ist deaktiviert. Dies ist die Standardeinstellung, und ich habe überprüft, ob sie deaktiviert ist sudo ufw status.
Eric J.
1

Vielleicht ist es ein Problem mit der Zugangskontrolle. So deaktivieren Sie es und gestatten den vollständigen Zugriff als Root:

xhosts +

Ich hatte ein ähnliches Problem mit dem VNC-Viewer

Jay
quelle
1
Ich bezweifle wirklich, dass IMHO sshd nichts mit X zu tun hat - im Gegensatz zu vnc.
mpy
1

Das Problem wurde behoben, indem der DHCP-Server auf dem VirtualBox-Netzwerkadapter aktiviert wurde.

VirtualBox (neueste Version, Version 5) -> Datei -> Einstellungen -> Netzwerk -> Nur-Host-Netzwerke (Registerkarte) -> Details zu Nur-Host-Netzwerken (Symbol-Tool) -> DHCP-Server

  1. Aktivieren Sie Server aktivieren
  2. Geben Sie die IP-Adresse ein
  3. OK OK
  4. Starten Sie die virtuelle Maschine neu

Meine Einstellungen für Schritt 2

  1. Serveradresse: 192.168.56.100
  2. Servermaske: 255.255.255.0
  3. Untere Adresse gebunden: 192.168.56.101
  4. Obere Adresse gebunden: 192.168.56.200
thanos.a
quelle
1

Hey, ich kehre gerade zu der ersten Seite zurück, die ich in meiner Mini-Saga über Fehlerbehebung und Recherche gefunden habe.

Anfang-zu-Ende-Anleitung zum Einrichten eines CentOS-Servers mit Oracle VM:

Teil I - Einrichtung der virtuellen Maschine

  1. Installieren Sie Oracle VM VirtualBox und das Erweiterungspaket hier .
  2. Laden Sie die CentOS minimale Installation hier .
  3. Für dieses Tutorial verwende ich einen Ubuntu-Client. Die ISO dafür finden Sie hier .
  4. Erstellen Sie den CentOS-Server und Ihre virtuellen Client-Maschinen.
  5. Richten Sie die CentOS-VM ein. ein. Öffnen Sie das Installationsziel und drücken Sie Zurück. b. Gehen Sie zu Netzwerk & Hostname, wenn Sie Ihren Hostnamen ändern möchten, was ich empfehle. c. Fühlen Sie sich frei, um Elemente unter Lokalisierung zu konfigurieren. Alles andere erledigt VirtualBox automatisch. d. Klicken Sie auf Installation starten. e. Erstellen Sie sowohl ein Root-Konto als auch ein normales Konto. Stellen Sie sicher, dass Letzterer über Administratorrechte verfügt. f. Sobald der Ladebalken voll ist, drücken Sie Reboot.
  6. Richten Sie Ihre Client-VM ein. ein. Installieren Sie VirtualBox-Gastzusätze.

Teil II - Konfiguration des virtuellen Netzwerks

  1. Drücken Sie in VirtualBox STRG + W.
  2. Erstellen Sie ein neues Host-Netzwerk. ein. Wenn Sie eine Fehlermeldung erhalten, liegt dies wahrscheinlich daran, dass Ihr Host-Betriebssystem VirtualBox-Probleme bei der Installation seiner Treiber verursacht. Sie müssen VirtualBox vollständig deinstallieren und die neueste Version neu installieren. Stellen Sie sicher, dass Sie die Installation als Administrator ausführen.
  3. Wählen Sie auf der Registerkarte "Adapter" die Option "Adapter manuell konfigurieren".
  4. Öffnen Sie unter Windows die Eingabeaufforderung und geben Sie ipconfig ein.
  5. Blättern Sie durch die Ausgabe, bis Sie den Namen des soeben erstellten Host-Only-Netzwerks finden. Verwenden Sie diese IPv4-Adresse und -Maske für die VirtualBox-Netzwerkkonfiguration.
  6. Schließen Sie den Host Network Manager.
  7. Öffnen Sie die Einstellungen Ihrer Client-VM. Wählen Sie unter Netzwerk, Adapter 2 aktivieren die Option Nur-Host-Adapter aus, und der Name ist der Name Ihres neu erstellten Nur-Host-Netzwerks.
  8. Wiederholen Sie den letzten Schritt für Ihre CentOS-Server-VM. Wechseln Sie außerdem zur Portweiterleitung von Adapter 1 auf der Registerkarte Erweitert, und erstellen Sie eine neue Regel. Stellen Sie sowohl den Host- als auch den Gastport auf 22 ein.
  9. Notieren Sie sich die MAC-Adresse, bevor Sie die erweiterten Einstellungen schließen.

Teil III - Serverkonfiguration

  1. Starten Sie Ihre CentOS VM.
  2. Run yum check-update, yum upgradeund yum clean all.
  3. Rennen nmtui.
  4. Drücken Sie die Eingabetaste über "Verbindung bearbeiten".
  5. Sie sollten "enp03s" und eine "Kabelverbindung 1" sehen. ein. Wenn Sie zwei Verbindungsoptionen haben, sich aber nicht sicher sind, welche verwendet werden sollen, können Sie eine bearbeiten. Wenn der Gerätewert mit der unter Adapter 1 aus Teil II angezeigten MAC-Adresse übereinstimmt, handelt es sich um Ihre NAT-Verbindung, andernfalls um Ihre Nur-Host-Verbindung.
  6. Bearbeiten Sie Ihre Nur-Host-Verbindung: a. Stellen Sie die IPv4-Konfiguration auf "manuell". B. IPv4-Konfiguration anzeigen c. Drücken Sie in VirtualBox STRG + W. Neben Ihrem Host-only-Netzwerknamen sollte eine Kombination aus IP-Adresse und Maske in der Form „[ip] / [mask]“ angezeigt werden. Auf Ihrem Server unter IPv4-Konfiguration müssen Sie diese nach dem Drücken von eingeben <Add…>. d. Geh runter und drücke OK.
  7. Stellen Sie sicher, dass "Automatisch verbinden" sowohl für Ihre Nur-Host- als auch für Ihre NAT-Verbindungen aktiviert ist.
  8. Aus nmtuiund navigieren reboot.

Teil IV - Clientkonfiguration und -nutzung

  1. Booten Sie Ihre Client-VM.
  2. (Optional) Bearbeiten Sie / etc / hosts, um eine Zeile der folgenden Form einzuschließen: [serv_ip_addr] [Hostname] Dabei ist serv_ip_addr die IP-Adresse Ihres CentOS-Servers (zweite Ausgabe von hostname -Iin Ihrem CentOS-Terminal). Auf diese Weise können Sie alles, was Sie für [Hostname] ausgewählt haben, austauschbar mit der IP-Adresse Ihres Servers verwenden. Normalerweise setze ich dies auf den in Teil II gewählten Hostnamen.
  3. Wenn bis zu diesem Punkt alles funktioniert hat, sollten Sie in der Lage sein, [user]@[hostname]auf Ihren CentOS-Server zu sshen . Ist dies nicht der Fall, müssen Sie möglicherweise openssh-clientund openssh-serverauf Ihren Computern installieren .

Teil V - Bereitstellen von Websites

  1. Dies ist eine hervorragende Anleitung zum Hosten Ihrer eigenen Websites über ein Setup wie oben beschrieben.
Frosh_VII
quelle
0

Ich musste dieses Problem lösen, indem ich eine UFW-Regel für den 2. Adapter hinzufügte:

ufw allow in on enp0s8 to 192.168.56.101 port 22 proto tcp

Wobei enp0s8 der Name meines 2. Adapters ist (auf alten Ubuntu-Distributionen war dies eth1).

janb
quelle
-1

Öffnen Sie in Ihrer Linux-Box (VirtualBox Ubuntu) das Terminal und geben Sie den folgenden Befehl ein: sudo service ssh start

Versuchen Sie danach erneut, eine Verbindung herzustellen

Oh mein Böses, ich habe verpasst, worauf gronostaj hingewiesen hat

OK, manchmal sind die Lösungen wirklich einfach. Vor kurzem hatte ich das gleiche Problem mit Slackware-Gast auf Windows 7-Host. Alles, was ich tun musste, war, eth'X zu konfigurieren und IP 192.168.56.xxx zuzuweisen. Subnetz 255.255.255.0 (wenn nur Host-Adapter) Diese Frage ist fast ein Jahr alt, also erwähne ich dies für jemanden wie mich auf dieser seite suche nach "ssh connection refused" ;-)

Deloader
quelle
OP hatte angegeben, dass lokale SSH-Verbindungen funktionieren, sodass der Server ausgeführt wird.
Gronostaj
-2

Hatte das gleiche Problem, löste es durch Hinzufügen einer virtuellen Festplatte zur VM, die keine hatte.

Louis Garczynski
quelle
Das heißt, Ihr Problem war anders. Wenn Ihre VM keine Festplatte hatte, wurde sie nicht auf einem Betriebssystem gebootet, bei dem es sich um eine OP-VM handelte. Bitte lesen Sie die Fragen sorgfältig durch, damit Sie sie verstehen, bevor Sie sie beantworten.
music2myear
Dies gibt keine Antwort auf die Frage. Sobald Sie über eine ausreichende Reputation verfügen, können Sie jeden Beitrag kommentieren . Geben Sie stattdessen Antworten an, die nicht vom Fragesteller geklärt werden müssen . - Aus der Bewertung
music2myear
Meine VM wurde auf einer Linux-32-Bit-ISO-Datei ohne zusätzliche virtuelle Festplatte gestartet
Louis Garczynski,
Was bedeutet, dass Sie eine "Live" -Linux-Sitzung durchgeführt haben, mit der OP definitiv nicht zu tun hatte. Wir sind froh, dass Sie Ihr Problem gelöst haben, aber Ihre Lösung ist nicht die Lösung oder besonders nahe daran, was OP erlebt hat.
music2myear
Sie haben absolut recht, ich wusste nicht, dass das OP-Problem so spezifisch war. Angesichts der Tatsache, dass ich die gleiche Fehlermeldung erhalten habe, werde ich die Antwort hier behalten, für den Fall, dass jemand mit meinem Problem auch hier auftaucht.
Louis Garczynski