VirtualBox

So führen Sie eine SSH-Verbindung zu Ihrem VirtualBox-Gast durch

So führen Sie eine SSH-Verbindung zu Ihrem VirtualBox-Gast durch
Es gibt Zeiten, in denen Sie einen Remote-Zugriff auf Ihre VM wünschen. Vielleicht ist es nur ein Serverbetriebssystem, das als VM ausgeführt wird und auf dem Sie Ihre Anwendungen testen, bevor Sie sie tatsächlich bereitstellen.

Die Möglichkeit zur SSH-Verbindung zu Ihrem Gastbetriebssystem kann sich als nützlich erweisen, wenn Sie die GUI Ihrer virtuellen Maschine nicht verwenden möchten. Starten Sie Ihre VM einfach im Headless-Modus und SSH in und aus ihr, ohne dass mehrere Fenster in Ihrem Terminal geöffnet sind.

Für diejenigen, die neu in der Idee von SSH sind, werden wir eine kurze Einführung in die Funktionsweise von SSH haben, bevor wir in das Setup eintauchen. Außerdem müssen wir die netzwerkbezogenen Einstellungen Ihrer VM besprechen, um sicherzustellen, dass Sie von überall in Ihrem LAN auf diese VM zugreifen können.

So funktionieren SSH-Schlüssel?

Hier ist ein vereinfachtes Modell der Funktionsweise von SSH. Sie erstellen ein Schlüsselpaar auf Ihrem lokalen Computer. Ein öffentlicher Schlüssel und ein privater Schlüssel. Mit dem öffentlichen Schlüssel verschlüsselte Nachrichten können mit dem privaten Schlüssel entschlüsselt werden und umgekehrt. Diese Schlüssel werden normalerweise auf Ihrem lokalen Computer unter einem Pfad gespeichert ~/.ssh/id_rsa(privater Schlüssel) und~/.ssh/id_rsa.pem(der öffentliche Schlüssel).

Sie gehen dann zu Ihrem Remote-Server, melden sich als normaler oder Root-Benutzer an einer Konsole an, öffnen die Datei ~/.ssh/authorized_keysvon diesem Server. Hier geben Sie den Inhalt Ihres öffentlichen Schlüssels so ein, wie er ist. Sobald dies erledigt ist, können Sie als der Benutzer auf dem Server, dessensh .ssh-Verzeichnis enthält die authorisierten_Schlüssel von Ihrem lokalen Gerät.

Das .pem Erweiterung bedeutet, dass diese Datei der öffentliche Schlüssel ist, den Sie mit jedem teilen können. Das id_rsa Teil gibt nur an, welche Verschlüsselungs-Chiffre verwendet wird (in diesem Fall handelt es sich um RSA). Der private Schlüssel kann außerdem durch eine Passphrase geschützt werden, die Sie jedes Mal eingeben müssen, wenn Sie sich mit diesem privaten Schlüssel bei einem Remote-Server anmelden möchten.

Wenn Sie einen Mac, Linux oder ein anderes UNIX-ähnliches System als Ihren lokalen Computer haben, können Sie Schlüssel mit dem Terminal generieren und verwalten, und Sie können mit demselben Terminal auch per SSH auf Remote-Server zugreifen. Für Windows-Benutzer würde ich vorschlagen, PuTTY oder Git Bash zu verwenden, wobei letzteres meine persönliche Präferenz ist. Die Befehle sind ziemlich gleich, wenn Sie einen SSH-Client haben.

SSH-Schlüssel einrichten

Stellen Sie zunächst sicher, dass sich noch keine ssh-Schlüssel in Ihrem Home-Verzeichnis befinden. Überprüfen Sie den Inhalt Ihres Home-Verzeichnisses .ssh Mappe. Sichern Sie im Zweifelsfall den Inhalt, bevor Sie den folgenden Befehl ausführen. Programme wie Filezilla verwenden ständig SSH-Schlüssel ohne das Wissen des Benutzers, daher ist dieser Schritt ziemlich wichtig step.

In deinem lokale Maschine, öffne das Terminal und gib den Befehl ein:

$ ssh-keygen

Darauf folgen die folgenden Eingabeaufforderungen mit Werten in Klammern, die die Standardwerte angeben. Fahren Sie mit den Eingabeaufforderungen fort und geben Sie Ihren Schlüsseln eine sichere Passphrase.

Überprüfen Sie, ob die Schlüssel erstellt wurden, indem Sie den Inhalt Ihres ~/.ssh Mappe.

$ ls -al ~/.ssh

Wenn Sie Dateien sehen, die den Standardwerten entsprechen, die in der ssh-keygen prompt dann hat alles gut geklappt.

Öffne jetzt eine Konsole für deine Virtuelle Maschine. Überprüfen Sie zuerst, ob auf Ihrer VM ein SSH-Server ausgeführt wird oder nicht.

$ service sshd-Status

Wenn es nicht installiert ist, verwenden Sie Ihren Paketmanager, um den OpenSSH-Server zu suchen und zu installieren. Stellen Sie anschließend sicher, dass die Firewall Ihrer VM auf Portnummer 22 geöffnet ist. Wenn Sie beispielsweise Ubuntu als VM verwenden, ist die Standardfirewall ufw sollte entweder deaktiviert sein oder Port 22-Verbindungen wie folgt zulassen:

$ sudo ufw-Status

Wenn Port 22 nicht geöffnet ist, verwenden Sie den folgenden Befehl:

$ sudo ufw erlauben ssh

Als nächstes öffnen Sie die Datei ~/.ssh/authorized_keys  auf Ihrer VM mit Ihrem bevorzugten Texteditor. Möglicherweise möchten Sie für diesen nächsten Schritt die Host-to-Gast- oder bidirektionale Zwischenablage aktivieren.

Fügen Sie in dieser Datei (am Ende der Datei, wenn sie nicht leer ist) den Inhalt Ihres Öffentlicher Schlüssel. Der letzte Teil, in dem Ihr Name und der lokale Host angegeben sind, auf dem die Schlüssel generiert wurden, ist nicht so wichtig wie der Rest der Zeichenfolge.

(Optional) Keine SSH-Schlüssel verwenden

Wenn Sie Ihrem lokalen Netzwerk vertrauen, können Sie die weniger sichere Methode zur Verwendung Ihres UNIX-Passworts verwenden, um eine SSH-Verbindung zu Ihrer VM herzustellen. Öffne die Datei /etc/ssh/sshd_config auf Ihrer VM und ersetzen Sie die Zeile:

#PasswortAuthentifizierungsnr
Zu
PasswortAuthentifizierung ja

Sobald dies eingerichtet ist, starten Sie Ihren SSH-Server neu.

$ service sshd neu starten

Jetzt können Sie das normale Passwort, mit dem Sie sich bei Ihrer VM anmelden, auch verwenden, um sich per SSH einzuloggen.

Ihre virtuelle Maschine und Ihr Netzwerk

Damit Sie sich per SSH in Ihre VM einloggen können, sollten sich sowohl Ihr lokaler Computer (der mit dem privaten Schlüssel) als auch die VM im selben Netzwerk befinden. So können Sie die IP-Adresse dieser VM erreichen. Wir zeigen Ihnen, wie Sie die VM zu Ihrem LAN hinzufügen.

Betrachten wir das Beispiel eines typischen Heim-Router-Setups. Ihr Computer ist zusammen mit anderen Geräten mit dem Heimrouter verbunden. Dieser Router fungiert auch als DHCP-Server, d. h. er weist jedem angeschlossenen Gerät eine eindeutige private IP-Adresse zu. Ihr Desktop bekommt eine IP, ebenso Ihr Telefon und Ihr Laptop. Nur die Geräte, die mit diesem Router verbunden sind, können über ihre IP-Adressen miteinander kommunizieren.

Aktivieren Sie den Bridged-Networking-Modus in den Einstellungen Ihrer VM und die VM wird als mit Ihrem Heimrouter (oder einem ähnlichen DHCP-Server) mit einer privaten IP verbunden angezeigt. Wenn ein zweites Gerät mit demselben Netzwerk (z. B. mit demselben Heimrouter) verbunden ist, kann es verwendet werden, um sich per SSH in die VM einzuloggen.

Öffnen Sie den VirtualBox Manager, wählen Sie Ihre Ziel-VM aus, öffnen Sie die Einstellungen → Netzwerk und wählen Sie Bridge Networking anstelle von NAT.

Wie Sie sehen, ist mein Host über Wireless verbunden, sodass die Verbindung auch von der VM geteilt wird. Wenn Sie Ethernet verwenden, wird ein anderer Schnittstellenname angezeigt, was in Ordnung ist.

Nun, meine VM, die heißt ubuntuvm, wird in meinem LAN-Setup wie folgt angezeigt. Überprüfen Sie Ihre Router-Einstellungen, um zu sehen, ob das gleiche für Sie funktioniert.

Sobald Sie die IP-Adresse Ihrer VM kennen, können Sie eine SSH-Verbindung herstellen, indem Sie den folgenden Befehl ausführen:

$ ssh @ip.Adresse.von.Ihre.vm

Wenn Sie in den obigen Schritten eine Passphrase für Ihren privaten Schlüssel eingegeben haben, werden Sie aufgefordert, diese erneut einzugeben.

Das ist es! Jetzt können Sie Ihre VMs im Headless-Modus starten und einfach von überall in Ihrem Haus per SSH darauf zugreifen. Ich hoffe, Sie fanden dieses Tutorial interessant, lassen Sie es uns wissen, wenn es ein Thema gibt, das wir behandeln möchten.

Installieren Sie das neueste OpenRA-Strategiespiel auf Ubuntu Linux
OpenRA ist eine Libre/Free Real Time Strategy Game Engine, die die frühen Westwood-Spiele wie den Klassiker Command & Conquer: Red Alert Red nachbilde...
Installieren Sie den neuesten Dolphin Emulator für Gamecube & Wii unter Linux
Mit dem Dolphin Emulator können Sie Ihre ausgewählten Gamecube- und Wii-Spiele auf Linux-Personalcomputern (PC) spielen. Als frei verfügbarer Open-So...
So verwenden Sie die GameConqueror-Cheat-Engine unter Linux
Der Artikel enthält eine Anleitung zur Verwendung der GameConqueror-Cheat-Engine unter Linux. Viele Benutzer, die Spiele unter Windows spielen, verwen...