![allgemeines Problem: ssh: Verbindung zum Host 10.0.2.15 Port 22: Verbindung abgelehnt](https://rvso.com/image/1157738/allgemeines%20Problem%3A%20ssh%3A%20Verbindung%20zum%20Host%2010.0.2.15%20Port%2022%3A%20Verbindung%20abgelehnt.png)
Ich verwende VirtualBox unter Windows 10 (Host), um zwei virtuelle Maschinen ( Guest DT
und Guest S
) zu erstellen. Kann ich per SSH von Guest DT
auf zugreifen Guest S
?
Guest DT
ist UbuntuDesktop18.04.Guest S
läuft UbuntuServer18.04.- VirtualBox-Terminologie
Ich habe keine Erfahrung mit SSH. Ich habe gegoogelt und Antworten auf „ähnliche Fragen“ auf dieser Site gelesen.
Fehler
Am Guest DT
mache ich Folgendes:
$ ssh [email protected]
ssh: connect to host 10.0.2.15 port 22: Connection refused
Notiz:
- Ich kann 10.0.2.15 erfolgreich anpingen
test
ist mein Benutzername auf derGuest S
.
Umgebungs-Setup
An Guest DT
:
$ ssh-keygen
$ cat ~/.ssh/id_rsa.pub
ssh-rsa <a very long key> neil@neil-VirtualBox
An Guest S
:
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
$ touch ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys
$ echo "ssh-rsa <a very long key> neil@neil-VirtualBox" > ~/.ssh/authorized_keys
$ /etc/init.d/ssh restart
An Guest S
:
test@server01:~$ service sshd status
ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2018-06-15 02:05:04 UTC; 1h 16min ago
Process: 903 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
Main PID: 906 (sshd)
Tasks: 1 (limit: 2317)
CGroup: /system.slice/ssh.service
└─906 /usr/sbin/sshd -D
Jun 15 02:05:04 server01 systemd[1]: Starting OpenBSD Secure Shell server...
Jun 15 02:05:04 server01 sshd[906]: Server listening on 0.0.0.0 port 22.
Jun 15 02:05:04 server01 sshd[906]: Server listening on :: port 22.
Jun 15 02:05:04 server01 systemd[1]: Started OpenBSD Secure Shell server.
$ sudo ufw status
[sudo] password for test:
Status: inactive
/etc/ssh/sshd_config contains :
#PubkeyAuthentication yes
Antwort1
Ich denke, dass die standardmäßige Netzwerkkonfiguration für VirtualBox-Gäste NAT
eigentlich nicht für diese Art der Netzwerkkommunikation gedacht ist, aber basierend auf alten Beiträgen ist es vielleicht möglich,Weiterleitungeinen Nicht-System-Port zu einem Gast-Port und unter Verwendung des Standard-Loopback-IP-Adresseum den Gast zu erreichen. 10.0.2.2 ist der Standard-Loopback.
Netzwerk einrichten
Am einfachsten ist es jedoch, sicherzustellen, dass Sie für jeden Gast das richtige Netzwerk auswählen. Fahren Sie Ihre Gastcomputer herunter und bearbeiten Sie dann in VirtualBox dieDen passenden Netzwerkmodus für Ihre Anforderungen finden (Raster beachten).
Standard-NAT-Netzwerk verwenden
Bei Verwendung von NAT verwendet VirtualBox eine spezielle IP 10.0.2.2 als Loopback (zumindest glaube ich, dass das immer noch der Fall ist). Daher sind die vom Loopback weitergeleiteten Ports für alle Gäste verfügbar. Ich denke, Sie sollten dies nutzen können. Für die Kommunikation über ein NAT-Netzwerk ist eines der folgenden Elemente erforderlich:
Richten Sie mit VBoxManage die NAT-Weiterleitung einesNicht-System-Port (1024–65535)zu einem niedrigerenSystemport (< 1024).
Guest S
Leiten Sie in diesem Fall etwas wie Port 2222 an Port 22 weiter (Standard für SSH). Dies setzt auch voraus, dass wir gemäß der Frage die IP-Adresse von verwenden10.0.2.15
.Konfigurieren Sie die Portweiterleitung auf dem Virtualbox-Host und führen Sie Folgendes aus:
VBoxManage modifyvm "VM-Name" --natpf1 "guestssh,tcp,,2222,,22"
Der gesamte TCP-Verkehr, der auf Port 2222 einer beliebigen Hostschnittstelle eingeht, wird an Port 22 im Gast weitergeleitet. Der Protokollname TCP ist ein obligatorisches Attribut, das definiert, welches Protokoll für die Weiterleitung verwendet werden soll (UDP könnte auch verwendet werden). Der Name Guestssh ist rein beschreibend und wird automatisch generiert, wenn er weggelassen wird. Die Nummer nach --natpf bezeichnet die Netzwerkkarte, wie in anderen Teilen von VBoxManage.
Überprüfen Sie die hinzugefügte Regel:
VBoxManage showvminfo myserver | grep 'Regel'
Verbindung
Guest Server
über Host-Loopback-Mapping und Port-Weiterleitung fürGuest S
neil@neil-VirtualBox$ ssh -p 2222[email geschützt]
Alternative: ändern (Gäste)/etc/sshd_configzuhören auf einem Nicht-System-Port (> 1024). Laden Sie dann ssh neu.
Antwort2
Entfernen Sie einfach alle ECDSA-Fingerabdruckschlüssel (wahrscheinlich SHA256), die im Verzeichnis „Known Hosts“ enthalten sind.
- Laufen
vi ~/.ssh/known_hosts
- Löschen Sie alle mit der betreffenden IP-Adresse verknüpften Schlüssel in der Datei „known_hosts“.
- Drücken Sie die Taste "Esc" und dann die Taste "Shift" + ":" + "x"