allgemeines Problem: ssh: Verbindung zum Host 10.0.2.15 Port 22: Verbindung abgelehnt

allgemeines Problem: ssh: Verbindung zum Host 10.0.2.15 Port 22: Verbindung abgelehnt

Ich verwende VirtualBox unter Windows 10 (Host), um zwei virtuelle Maschinen ( Guest DTund Guest S) zu erstellen. Kann ich per SSH von Guest DTauf zugreifen Guest S?

Ich habe keine Erfahrung mit SSH. Ich habe gegoogelt und Antworten auf „ähnliche Fragen“ auf dieser Site gelesen.

Fehler

Am Guest DTmache 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
  • testist mein Benutzername auf der Guest 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 NATeigentlich 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).

Virtualbox-Schritte zum Ändern des Netzwerks

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).

    1. Guest SLeiten 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 verwenden 10.0.2.15.
    2. 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.

    3. Überprüfen Sie die hinzugefügte Regel:

      VBoxManage showvminfo myserver | grep 'Regel'

    4. 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.

  1. Laufenvi ~/.ssh/known_hosts
  2. Löschen Sie alle mit der betreffenden IP-Adresse verknüpften Schlüssel in der Datei „known_hosts“.
  3. Drücken Sie die Taste "Esc" und dann die Taste "Shift" + ":" + "x"

verwandte Informationen