Ich habe eine Ubuntu-VM auf meinem Windows 7-Computer. Wie richte ich es so ein, dass ich über SSH extern auf den Webserver zugreifen kann?
Ich habe Schritte gefunden ( SSH-Zugriff zwischen VirtualBox-Host und Gast-VMs einrichten ), um von meinem Host aus auf meinen Gast zugreifen zu können, aber ich habe immer noch das Problem, über meinen Router darauf zuzugreifen.
Ich nehme an, ich könnte einen SSH-Server auf meinem Windows-Computer installieren und dann einige Male tunneln (obwohl ich nicht 100% sicher bin, was ich in Bezug auf lokale, dynamische usw. verwenden soll oder wie ich mehrere Tunnel einrichten soll?). Aber gibt es eine Möglichkeit, die VM direkt für meinen Router zugänglich zu machen, damit ich direkt darauf portieren kann?
ssh
virtualbox
Jordan
quelle
quelle
Antworten:
Der beste Weg, sich bei einer Linux-VirtualBox-Gast-VM anzumelden, ist die Portweiterleitung . Standardmäßig sollten Sie bereits eine Schnittstelle haben, die NAT verwendet . Gehen Sie dann zu den Netzwerkeinstellungen und klicken Sie auf die Schaltfläche Portweiterleitung . Fügen Sie eine neue Regel hinzu . Geben Sie als Regelnamen "ssh" ein. Fügen Sie als "Host-Port" 3022 ein. Geben Sie als "Gast-Port" 22 ein. Alles andere in der Regel kann leer gelassen werden.
oder über die Kommandozeile
Dabei ist 'myserver' der Name der erstellten VM. Überprüfen Sie die hinzugefügten Regeln:
Das ist alles! Bitte vergessen Sie nicht, einen SSH- Server in der VM zu installieren :
Schreiben Sie zum SSH in die Gast-VM:
Wo
user
ist Ihr Benutzername in der VM?quelle
ssh -p 3022 [email protected]
Das war der einzige Schritt, den ich vermisst habe und den ich einfach auf einer anderen Seite gefunden habe.Host mybox HostName 127.0.0.1 User myuser Port 3022
Datei Folgendes hinzu (fügen Sie selbst einen Einzug hinzu), dann müssen Sie nurssh mybox
jedes Mal :)Ändern Sie den Adaptertyp in VirtualBox in "Bridged" und legen Sie fest, dass der Gast DHCP verwendet, oder legen Sie eine statische IP-Adresse außerhalb der Grenzen von DHCP fest. Dadurch verhält sich die virtuelle Maschine wie ein normaler Gast in Ihrem Heimnetzwerk. Sie können dann vorwärts portieren.
quelle
Das Beibehalten des NAT-Adapters und das Hinzufügen eines zweiten Nur-Host-Adapters funktioniert hervorragend und ist für Laptops von entscheidender Bedeutung (bei denen sich das externe Netzwerk immer ändert).
http://muffinresearch.co.uk/archives/2010/02/08/howto-ssh-into-virtualbox-3-linux-guests/
Denken Sie daran, ein Nur-Host-Netzwerk in der Virtualbox selbst zu erstellen (GUI -> Einstellungen -> Netzwerk), da Sie sonst keine Nur-Host-Schnittstelle für den Gast erstellen können.
quelle
/etc/network/interfaces
, danke!ssh
,sftp
usw.) , da Sie durch einen Nicht-Standard - Port gehen müssten.So erstellen Sie ein Nur-Host-Netzwerk ( besser als Bridged) für Solaris 10 und Ubuntu 16.04
Nur-Host-Schnittstelle hinzufügen
Starten Sie cmd.exe und führen Sie es aus
ipconfig /all
. Sie sollten Linien sehen:Der zweite Adapter im Gast sollte ebenfalls 192.168.59 sein. *.
Starten Sie die VM.
Solaris 10
ifconfig -a
. Sie sollten e1000g0 und e1000g1 sehen. Wir interessieren uns für e1000g1.ifconfig e1000g down
ifconfig e1000g 192.168.56.10 netmask 255.255.255.0 up
ping 192.168.56.10
Behalten Sie diese Einstellungen beim Neustart bei
Konfigurieren Sie den SSH- Dienst ( Verwaltung ) so, dass er sich als Root anmeldet (nicht empfohlen).
Überprüfen Sie, ob ssh aktiviert ist
Ändern Sie / etc / ssh / sshd_config so, wie es ist
Starten Sie den SSH-Dienst neu
Vom Host überprüfen
Ubuntu 16.04
Schnittstellen auflisten:
Sie sollten drei Schnittstellen wie lo, enp0s3, enp0s8 sehen. Wir werden den dritten verwenden.
Bearbeiten Sie / etc / network / interfaces
Dann
sudo ifup enp0s8
. Überprüfen Sie, ob enp0s8 die richtige Adresse hat. Sie sollten Ihre IP sehen:Wenn nicht, können Sie laufen
sudo ifdown enp0s8 && sudo ifup enp0s8
/superuser/424083/virtualbox-host-ssh-to-guest/424115#424115
quelle
192.168.59.1
und Sie192.168.56.10
die statische Gast-IP angeben . Die gesamte Subnetzadresse der Klasse C muss genau übereinstimmen, sodass Sie192.168.59.10
stattdessen so etwas wie innerhalb des Gasts verwenden müssten .Sie können in den Netzwerkeinstellungen auch ein Bridged Network (oder in neueren Versionen "Bridge Adapter") verwenden . Dadurch wird Ihre VM mit Ihrem Computer in ein VLAN gestellt. Sie können also einfach so in die VM ssh.
quelle
Um von Ihrem Host-Computer aus auf eine Ubuntu-VM zuzugreifen, die in VirtualBox ausgeführt wird, müssen Sie zwei Netzwerkadapter für die VM einrichten.
Stoppen Sie zunächst die VM, falls noch nicht geschehen.
Wählen Sie dann die VM aus und klicken Sie in der VirtualBox-Symbolleiste auf das Menü Einstellungen:
Adapter 1 einrichten
Adapter 2 einrichten
(Hinweis: Sie müssen keine Portweiterleitung einrichten.)
Das ist es. Nach dem Einrichten können Sie Ihre VM starten. In Ihrer VM sieht die Netzwerkkonfiguration wie folgt aus und Sie haben auch Internetzugang:
Auch auf Ihrem Host-Computer können Sie auf Ihre VM ssh:
Stellen Sie sicher, dass der SSH-Server in der VM installiert ist und ausgeführt wird.
Wenn nicht, installieren Sie es:
Auch zu Ihrer Information:
quelle
File > Host Network Manager > Create
Die Antworten anderer Benutzer hier:
How to SSH to a VirtualBox guest externally through a host?
... hat mir geholfen, die Aufgabe zu erfüllen, eine Verbindung von außerhalb des Internets zum Gastcomputer meines Heimcomputers herzustellen. Sie sollten in der Lage sein, eine Verbindung über Computer, Tablets und Smartphones (Android, IPhone usw.) herzustellen. Ich füge noch ein paar Schritte hinzu, falls es für jemand anderen hilfreich sein könnte:
Hier ist ein kurzes Diagramm meines Setups:
Remote device ---> INTERNET --> MODEM --> ROUTER --> HOST MACHINE --> GUEST VM
Remote device (ssh client) ---> PASS THRU DEVICES ---> GUEST VM (ssh server)
Remote device (leave ssh port 3022) ---> INTERNET --> MODEM --> ROUTER (FWD frm:p3022 to:p3022)--> HOST MACHINE (FWD frm:p3022 to:p22) --> GUEST VM (arrive ssh port 22)
Der Schlüssel für mich war zu erkennen, dass ALLE Verbindungen
PASSING-THROUGH
Zwischengeräte waren, um von meinem Remote-PC zu meiner virtuellen Gastmaschine zu Hause zu gelangen - Hence-Port-Weiterleitung!Hinweise: * Der SSH-Client muss eine sichere Verbindung anfordern, und ein laufender SSH-Server muss die sichere Verbindung verarbeiten.
Ich werde den Port 3022 weiterleiten, wie er in der gewählten Antwort von oben verwendet wurde.
Geben Sie bei Bedarf Ihre IP-Adressen ein (Heimmodem / Router, Host-IP, Gast-IP usw.). Die ausgewählten Namen sind nur Beispiele für die Verwendung oder Änderung.
1.Erstellen Sie einen SSH-Tunnel zu Port 3022 auf der externen IP-Adresse Ihres Modems / Routers.
ssh client/device possible commands: ssh -p 3022 user-name@home_external_IP
2.Port Forward = Wir leiten die Verbindung vom Router zum Host-Computer weiter
Stellen Sie außerdem sicher, dass die Firewall- / IPtable-Regeln auf dem Router zulassen, dass Ports weitergeleitet werden (bei Bedarf geöffnet).
Für den Pfwd-BILDSCHIRM des Routers sind folgende Einträge erforderlich: AppName: SSH_Fwd, Port_from: 3022, Protokoll: beide (UDP / TCP), IP_Adresse: hostIP_Adresse, Port_to: 3022, alles andere kann leer sein
Ressourcen der DD-WRT-Router-Software / Info:
DD-WRT Port_Forwarding
DD-WRT Static_DHCP
3. Hostcomputer-Firewall: Öffnen Sie den Port 3022, damit der weitergeleitete Port an den Gastcomputer weitergeleitet werden kann
Hostcomputer: Installieren Sie VirtualBox, Gastzugaben und Gastcomputer, falls dies noch nicht geschehen ist
Konfigurieren Sie den Gastcomputer und folgen Sie dem Abschnitt Netzwerk unten
Ich habe die VirtualBox-Benutzeroberfläche verwendet, um das Netzwerk des Gastes einfacher einzurichten als die CLI
Wenn Sie andere Methoden verwenden möchten, lesen Sie:
VirtualBox/manual/ch06.html#natforward
4. Einige schlagen vor, den Network Bridge-Adapter für den Gastzugriff auf LAN und andere Computer in Ihrem LAN zu verwenden. Dies stellt auch ein erhöhtes Sicherheitsrisiko dar, da Ihr Gastcomputer jetzt LAN-Computern und möglicherweise den INTERNET-Hackern ausgesetzt ist, wenn die Firewall nicht ordnungsgemäß eingerichtet wurde. Daher habe ich den an NAT angeschlossenen Netzwerkadapter ausgewählt, um weniger überbrückten Sicherheitsrisiken ausgesetzt zu sein.
Gehen Sie auf dem Gastcomputer wie folgt vor:
Außerdem gibt es je nach Plattform unterschiedliche SSH-Server und -Clients.
wikipedia/Secure_Shell
wikipedia/Comparison_of_SSH_servers
wikipedia/Comparison_of_SSH_clients
Für Ubuntu-Benutzer:
ubuntu community: SSHOpenSSH/Configuring
ubuntu/community: OpenSSH/Keys
Das sollte es sein. Wenn ich einen Fehler gemacht habe oder etwas hinzufügen möchte - fühle mich frei dazu -, bin ich immer noch ein Noob.
Hoffe das hilft jemandem. Viel Glück!
quelle
Für Windows-Hosts können Sie:
quelle
Sie können auch einen Port von Ihrem Gast zu Ihrem Host oder einem anderen Server weiterleiten. Dies ist besonders nützlich, wenn Ihr Gast "gesperrt" ist oder die ModifyVM-Option nicht anderweitig ausführen kann (z. B. keine Berechtigung für VBoxManage).
Drei kleinere Anforderungen sind: 1) Sie sind / können sich beim VirtualBox-Gast anmelden (über die Konsolen-GUI, einen anderen Gast usw.), 2) Sie haben ein Konto auf dem VirtualBox-Host (oder einem anderen Server) und 3) SSH und TCP Weiterleitung ist nicht blockiert.
Vorausgesetzt, Sie können die drei Anforderungen erfüllen, sind dies die folgenden Schritte:
netstat -rn
die Gateway-Adresse zum Standardroutenziel 0.0.0.0 aus und suchen Sie sie. Angenommen, es ist "10.0.2.2". Diese 'Gateway'-Adresse ist eine der virtuellen IP-Adressen des VirtualBox-Hosts.ssh -R 2222:localhost:22 10.0.2.2
wobei "10.0.2.2" die IP-Adresse des VirtualBox-Servers ist - ODER - jede andere Server-IP, an die Sie weiterleiten möchten.ssh 10.0.2.2 -p2222
wobei 10.0.2.2 die in Schritt 1 gefundene virtuelle Standard-Gateway- / VBHost-IP ist. Wenn es sich NICHT um den VirtualBox-Host handelt, an den Sie den Port weiterleiten, lautet der Befehlssh localhost -p2222
quelle
Führen Sie die folgenden Schritte aus, um sich mit Putty (ohne Portweiterleitung) bei Ihrer Ubuntu-VM anzumelden, die in einer virtuellen Box vom Hostcomputer ausgeführt wird:
Wählen Sie im Virtualbox-Manager die VM aus und klicken Sie auf das Einstellungssymbol. Gehen Sie dann zu Netzwerke und aktivieren Sie zwei Adapter wie folgt:
Starten Sie das Ubuntu VM.
Bearbeiten Sie die Datei '/ etc / network / interfaces' wie folgt und speichern Sie sie:
Starten Sie die VM neu.
Melden Sie sich bei der VM an und führen Sie den folgenden Befehl aus, um die eth1 zugewiesene IP zu überprüfen:
Verwenden Sie diese IP, um eine Kitt-Sitzung für die VM zu öffnen.
quelle
Eine gute Erklärung zum Konfigurieren der Portweiterleitung mit NAT finden Sie in den VirtualBox-Dokumenten: http://www.virtualbox.org/manual/ch06.html#natforward
quelle
Ubuntu 18.04 LTS
Konfiguration mit Bridged, um die Server-IP zu sehen und eine Verbindung ohne "Portweiterleitung" herzustellen
VirtualBox> Klicken Sie mit der rechten Maustaste auf Server> Einstellungen> Netzwerk> Adapter 2 aktivieren> Wählen Sie "Bridged"> Promiscuous-Modus: Alle zulassen> Überprüfen Sie das angeschlossene Kabel> Starten Sie den Server
Bearbeiten Sie auf dem Ubuntu-Server die
sudo nano /etc/netplan/*init.yaml
Datei,Meine Beispieldatei:
Befehle, die Ihnen helfen
Konfigurieren Sie statische IP-Adressen unter Ubuntu 18.04 LTS Server - mit NetPlan
quelle
Das einfache Einstellen der Netzwerkeinstellung auf "Überbrückt" hat mir geholfen.
Ihre IP ändert sich dabei. In meinem Fall hat sich dies jedoch nicht sofort geändert.
ifconfig
gab die gleiche IP zurück. Ich habe die VM und den Boom neu gestartet, die IP hat sich mit 192 auf einen Start eingestellt. * Und mir wurde sofort der SSH-Zugriff gewährt.quelle
In sicheren Netzwerken funktioniert das Einstellen Ihres Netzwerks auf Bridge möglicherweise nicht. Administratoren konnten nur eine Mac-Adresse pro Port zulassen oder, noch schlimmer, den Port blockieren, wenn die Switches mehrere Macs an einem Port erkennen.
Meiner Meinung nach ist die beste Lösung, zusätzliche Netzwerkschnittstellen einzurichten, um zusätzliche Dienste zu verwalten, die Sie auf Ihren Computern ausführen möchten. Ich habe also eine Bridge-Schnittstelle, die das Bridging ermöglicht, wenn ich meinen Laptop mit nach Hause nehme und von anderen Geräten in meinem Netzwerk SSH-fähig bin, sowie einen Host-Adapter, wenn ich von meinem Laptop aus eine SSH-Verbindung zu meiner VM herstellen möchte, wenn ich verbunden bin zum eduroam wifi netzwerk auf dem campus.
quelle
Verwenden Sie den NAT-Netzwerkadapter und fügen Sie den Port weiter. Erwähnen Sie die tatsächliche Host-IP. Verwenden Sie nicht 127.0.0.1 oder localhost.
quelle