Wie kann ich von einem Remote-Linux-Server aus in einen Ubuntu-Gast ssh - der auf einem Win10-Host ausgeführt wird?

10

Kurzfassung

Welche Schritte muss ich ausführen, um eine Ubuntu-Gast-VirtualBox-VM von einem Windows 10-Host sshaus von einem Remote-Linux-Server auf die Ubuntu-Gast-VM zu übertragen?


_______________________
[                     ]
[ Windows 10          ]
[ ___________________ ]            ____________________
[ [                  ]]            [                   ]
[ [ Ubuntu VM (guest) <----HOW?---- SUSE remote server ]
[ [__________________]]            [___________________]
[_____________________]

Lange Version

Ich bin verwirrt, weil AFAIK, wenn ich keine Ubuntu-Gast-VM verwendete und stattdessen eine echte Ubuntu-Maschine verwendete, ich einfach cat /etc/hostsdie IP-Adresse von local und dann von remote nur finden konnte:

user@remote --ssh--> user@<local IP>

Ich habe die ssh-Schlüssel bereits so eingerichtet, dass ich vom Ubuntu-Gast auf den SUSE-Remote-Server ssh kann (dh der Gast ~/.ssh/id_rsa.pubist bereits auf der Remote gespeichert ~/.ssh/authorized_keys). Dh ich kann schon:

ssh -Y user@remote

Ohne Schwierigkeiten, aber ich kann es nicht umgekehrt machen, nur weil ich keine Ahnung habe, wie die IP-Adresse meines Gastes lautet. Und ich habe bereits versucht, sshmit den IP-Adressen in "Verbindungsinformationen" von der Ubuntu-GUI zu arbeiten.

Auch um klar zu sein:

  • Gast-VM ist Ubuntu 12.04 LTS (64-Bit)

  • Meist VirtualBox-Einstellungen: Standard

  • Netzwerkadapter aktivieren: NAT (Kabel angeschlossen, keine Portweiterleitung)

Ich habe keinen SSH-Server eingerichtet, bin mir aber nicht sicher, ob dies erforderlich ist (?). Dies ist mein bisheriges Verständnis.

Welche Schritte muss ich ausführen, um eine Ubuntu-Gast-VirtualBox-VM von einem Windows 10-Host sshaus von einem Remote-Linux-Server auf die Ubuntu-Gast-VM zu übertragen?

hallo_there_andy
quelle

Antworten:

14

Dies wird normalerweise als "Double NAT" -Situation bezeichnet, wenn Sie sich hinter einem Router befinden. Sie müssen vom Grenzrouter an das Windows-System weiterleiten und dann in VBox an die VM weiterleiten. Möglicherweise müssen Sie auch Port 22 von der eigentlichen Netzwerkverbindung an den VBox NAT-Adapter weiterleiten, aber das ist mir für Windows nicht so klar.

Letztendlich gibt es hier jedoch höchstens drei Dinge, die Sie tun müssen. Sie sind alle in Windows oder nicht in Ubuntu Linux, daher werden die meisten Ihrer Antworten auf Super User oder anderswo sein.

  1. (Wenn Sie sich in Ihrem Netzwerk hinter einem Router befinden, auf dem Win10 aktiviert ist) Richten Sie die Portweiterleitung auf Ihrem Router im Netzwerk ein, um Port 22 an Ihr Windows 10-System weiterzuleiten.

  2. Stellen Sie die Windows-Firewall so ein, dass eingehende Verbindungen über Port 22 zugelassen werden. Möglicherweise müssen Sie auch angeben, dass Port 22 in den VM-Netzwerkeinstellungen von Ihrem eingehenden Netzwerkadapter an das NAT-Netzwerk weitergeleitet werden soll.

  3. Stellen Sie die NAT-Weiterleitungsregel im NAT-Netzwerk in VirtualBox so ein, dass Port 22 auf dem Host an Port 22 auf der VM weitergeleitet wird .

Ein etwas besserer Ansatz, der Schritt 2 und Schritt 3 hier umgeht, ist die Verwendung des Bridged-Modus in den VM-Netzwerkeinstellungen. Dadurch wird eine IP von demselben Netzwerk abgerufen, mit dem das Windows 10-System verbunden ist, und Sie können dann den Forward-Port 22 am Edge-Router (Schritt 1) ​​auf die IP portieren, die das Netzwerk der VM selbst zugewiesen hat. Dies ist etwas weniger schmerzhaft als mehrere Hops und Konfigurationen durchführen zu müssen, damit Port 22 funktioniert.

HINWEIS: Einige ISPs filtern Port 22, sodass der Datenverkehr von Port 22 das System nicht erreicht. In diesem Fall müssen Sie möglicherweise einen höheren Port als Port 22 einrichten (z. B. 2022 oder einen anderen nicht standardmäßigen Port> 1024).


Um die IP des Gastes zu finden, werden diese Informationen in der Ausgabe ifconfig -aoder ip -4 addr listim Linux-Gast gespeichert. Das ist der einfachste Teil von all dem, weil dies der gleiche sein wird, Bridged oder NAT.

Thomas Ward
quelle
Ich werde dies untersuchen, danke, ich weiß wirklich nicht, wie Sie so schnell geantwortet haben ... Wird diesen Kommentar nach der Recherche löschen
hello_there_andy
1
@hello_there_andy Ich mache viel Virtualisierung auf meinem Laptop, entweder über Linux-basierte LXC / LXD-Container in einem NAT-Setup oder über VMware mit ähnlichen Übeln wie NAT (im Grunde bin ich an diese Probleme gewöhnt, heh). Der Prozess ist unter Linux und Windows ähnlich, jedoch in Bezug auf die Schritte völlig unterschiedlich, obwohl meine VMs in meinen Fällen niemals außerhalb -> in benötigen. Für diese VMs habe ich sie auf einen dedizierten ESXi-Hypervisor gestellt, der für die Ausführung von VMs vorgesehen ist, und sie direkt mit einem vorhandenen Ethernet-Setup verbunden (kein NAT vorhanden). Aber das ist natürlich ein atypisches Setup.
Thomas Ward
1
@hello_there_andy stellen Sie einfach sicher, dass der Gast auch darauf openssh-serverinstalliert ist - damit Sie SSH akzeptieren können. Abgesehen davon ist der Rest Windows-Netzwerk / Firewall / Konfiguration. (Daher Super User und nicht Ubuntu fragen)
Thomas Ward
3

Sie werden festlegen müssen port forwardinginWindows 10 VM player

Sie müssen einen externen Port auf dem Windows 10-Computer einstellen, der service portan den virtual machinein der weitergeleitet wird NAT network.

Dieser Link erklärt, wie es geht

Yaron
quelle
1
Während dies theoretisch die Frage beantworten kann, werden Antworten nur mit Links im Allgemeinen verpönt. Es wird bevorzugt, dass Sie relevante Informationen aus verknüpften Posts einfügen, falls solche Posts irgendwann in der Zukunft verschwinden.
Thomas Ward
Vielen Dank für den Kommentar und für die Angabe der Details in Ihrer Antwort.
Yaron