SSH von der lokalen Maschine zu virtuell über KVM und CentOS 8 Gast

SSH von der lokalen Maschine zu virtuell über KVM und CentOS 8 Gast
Standardmäßig verwenden KVM Virtual Machines private NAT -Netzwerke, die nur über den KVM -Host zugänglich sind. Sie können also nicht auf die KVM Virtual Machines aus Ihrem Heimnetzwerk zugreifen. Um SSH in virtuelle Maschinen auf Ihrem KVM -Host zu leiten. Dieser Artikel zeigt Ihnen, wie SSH in einem virtuellen Maschine von KVM Centos 8 über SSH -Tunneling und eine öffentliche KVM -Netzwerkbrücke von Ihrem Heimnetzwerk von Ihrem Heimnetzwerk von.

Voraussetzungen

Um die Beispiele in diesem Artikel auszuprobieren, müssen Sie KVM auf Ihrem Computer installieren lassen. Wenn Sie KVM nicht auf Ihrem Computer installiert haben, können Sie die folgenden Artikel unter LinuxHint lesen.COM für die Unterstützung bei der Installation von KVM auf Ihrer gewünschten Linux -Verteilung.

- Installieren Sie KVM auf Ubuntu 20.04

- Installieren Sie KVM auf CentOS 8

Erstellen eines CentOS 8 kVM virtuelle Maschine

Dieser Abschnitt zeigt, wie Sie eine virtuelle Maschine von CentOS 8 kVM zum Testen von SSH -Konnektivität erstellen können.

Laden Sie zunächst das CentOS 8 ISO -Installationsbild herunter. Um alle virtuellen Maschinendateien/Daten organisiert zu halten, ist es eine gute Idee, das ISO -Image in der zu speichern /kvm/iso/ Verzeichnis.

Navigieren zum /kvm/iso/ Verzeichnis mit dem folgenden Befehl:

$ CD /KVM /ISO

Sie finden den Link zum CentOS 8 ISO -Installationsbild auf der offiziellen ISO -Website von CentOS.

Sobald die Seite geladen wird, klicken Sie auf den nächsten CentOS 8 -Spiegel.

Alle verfügbaren CentOS 8 ISO -Installationsbilder sollten aufgeführt sein.

Ich werde das Netboot ISO -Installationsbild von CentOS 8 für diesen Artikel herunterladen. So installieren Sie CentOS 8 auf einem virtuellen KVM -Maschine mit dem Netboot ISO -Installationsbild, für die virtuelle Maschine eine Internetkonnektivität.

Wenn Sie das Netzwerk nicht konfigurieren möchten, während Sie CentOS 8 auf der virtuellen Maschine installieren, wählen Sie entweder die aus minimal oder der DVD ISO -Installationsbild von CentOS 8.

Klicken Sie mit der rechten Maustaste (RMB) auf die ISO-Datei, um den Link der ISO-Datei herunterzuladen und zu kopieren.

Laden Sie das CentOS 8 ISO -Installationsbild mithilfe von wget, folgendermaßen:

$ sudo wget http: // mirror.Dhakacom.com/centos/
8.2.2004/ISOS/x86_64/Centos-8.2.2004-X86_64-Boot.ISO

WGet sollte das CentOS 8 ISO -Bild herunterladen. Es wird eine Weile dauern, bis es fertig ist.

Zu diesem Zeitpunkt sollte das CentOS 8 ISO -Bild heruntergeladen werden.

Das CentOS 8 ISO -Bild ist in der verfügbar /kvm/iso/ Verzeichnis, wie Sie im Screenshot unten sehen können.

$ ls -lh

Sobald das CentOS -ISO -Bild heruntergeladen wurde, erstellen Sie eine virtuelle KVM -Maschine mit dem folgenden Befehl:

$ sudo virtinstall-name centos8-01 \
--linux \ vom os-typen \
--OS-Variante CentOS8 \
--RAM 2048 \
--Scheibe/KVM/Festplatte/Centos8-01.IMG, Device = Disk, Bus = virtio, size = 10, format = qcow2 \
--Grafik VNC, Hören = 0.0.0.0 \
--Noautoconsole \
--hvm \
--cdrom/kvm/iso/centos-8.2.2004-X86_64-Boot.ISO \
--Boot Cdrom, HD

Der Name der virtuellen Maschine wird sein CentOS8-01.

Der Betriebssystemtyp ist Linux und die Variante ist CentOS8.

Der RAM (Zufallszugriffsspeicher) des VM beträgt 2048 MB oder 2 GB.

Die virtuelle Festplatte der VM wird in der gerettet /kvm/disk/centos8-01.img Datei. Bei der virtuellen Festplatte handelt es sich um ungefähr 10 GB in Größe und das Format ist QCOW2 (Qemu Copy-on-Write V2).

Auf die virtuelle Maschine ist über VNC -Remote -Desktop -Protokoll (Virtual Network Computing) zugegriffen, und der VNC -Server hört auf allen verfügbaren Netzwerkschnittstellen zu, die auf Ihrem KVM -Host konfiguriert sind.

Der KVM -Host versucht nicht automatisch, eine Verbindung zum virtuellen Computer herzustellen, sobald die virtuelle Maschine erstellt wurde. Die virtuelle Maschine läuft weiter im Hintergrund.

Verwenden Sie die volle Virtualisierung für die virtuelle Maschine. Dies führt dazu, dass virtuelle Maschinen besser abschneiden.

Verwenden Sie das CentOS 8 ISO -Bild, das zuvor als virtuelles CD/DVD -ROM der virtuellen Maschine heruntergeladen wurde. Dies wird zur Installation von CentOS 8 auf der virtuellen Maschine verwendet.

Legt die Startreihenfolge der virtuellen Maschine fest. Der erste Starteintrag ist das virtuelle CD/DVD -ROM und dann die virtuelle Festplatte. Daher kann die virtuelle Maschine aus dem ISO -Bild von CentOS 8 starten und CentOS 8 auf der Festplatte installieren.

Das sind alle Optionen, die Sie benötigen, um eine virtuelle KVM -Maschine zu erstellen.

Sobald Sie die betreiben Virtinstall Befehl, KVM sollte damit beginnen, die virtuelle Maschine zu erstellen. Dies kann eine Weile dauern, abhängig von Ihrer Konfiguration Ihrer virtuellen Maschine.

Zu diesem Zeitpunkt sollte die virtuelle KVM -Maschine erstellt werden.

Wie Sie sehen können, die neu geschaffene virtuelle Maschine CentOS8-01 läuft.

Jetzt können Sie mit einem beliebigen VNC -Client -Programm eine Verbindung zum virtuellen Computer herstellen und CentOS 8 darauf installieren. Um eine Verbindung zur virtuellen Maschine über VNC herzustellen, müssen Sie die VNC -Portnummer der virtuellen Maschine kennenlernen.

Ermitteln Sie die VNC -Portnummer der virtuellen KVM -Maschine CentOS8-01, Führen Sie den folgenden Befehl aus:

$ virsh vncDisplay CentOS8-01

Wie Sie sehen können, ist die VNC -Portnummer des CentOS8-01 Virtuelle Maschine ist 1.

Hier, Port 0 bedeutet Port 5900. Auf die gleiche Weise, Port 1 bedeutet Port 5901, usw.

Wie Sie sehen können, die virtuelle KVM -Maschine CentOS8-01 läuft am Port 5901 (: 1).

$ sudo netstat -tln

Wenn Ihr KVM -Host das CentOS 8 -Betriebssystem ausführt, können Sie den Zugriff auf Port ermöglichen 5901 mit dem folgenden Befehl:

$ sudo firewall-cmd --add-port = 5901/tcp --permanent

Führen Sie den folgenden Befehl aus, damit die Firewall -Änderungen wirksam werden müssen:

$ sudo firewall-cmd-Reload

Wenn Ihr KVM -Host den Ubuntu 20 betreibt.04 LTS -Betriebssystem können Sie Zugriff auf den Port ermöglichen 5901 mit dem folgenden Befehl:

$ sudo ufw erlauben 5901/tcp

Führen Sie den folgenden Befehl aus, damit die Firewall -Änderungen wirksam werden müssen:

$ sudo UFW Reload

Suchen Sie die IP -Adresse Ihres KVM -Hosts mit dem folgenden Befehl:

$ hostname -i | tr "" "\ n"

Mein Heimnetzwerk nutzt das Netzwerk -Subnetz 192.168.20.0/24. Die IP -Adresse meines KVM -Hosts lautet also 192.168.20.131. Die anderen IP -Adressen sind private Netzwerkbrücken des KVM -Hosts.

Öffnen Sie jedes VNC -Client -Programm und stellen Sie eine Verbindung zur Adresse her 192.168.20.131: 1.

Sie sollten das Installationsfenster CentOS 8 sehen, wie im Screenshot unten gezeigt. Sie können CentOS 8 auf der KVM -virtuellen Maschine wie gewohnt installieren.

Ich installiere die minimale Serverversion von CentOS 8 für die Demonstration in diesem Artikel.

CentOS 8 wird in der virtuellen KVM -Maschine installiert CentOS8-01, Wie Sie im Screenshot unten sehen können. Dies kann eine Weile dauern, bis dies abgeschlossen ist.

Sobald CentOS 8 auf der virtuellen Maschine installiert ist, klicken Sie auf Neustart.

Die virtuelle KVM -Maschine CentOS8-01 sollte automatisch ausgeschaltet werden, wie Sie im Screenshot unten sehen können.

$ sudo virsh liste -alle

Starte das CentOS8-01 KVM Virtual Machine mit dem folgenden Befehl:

$ virsh starten CentOS8-01

Jetzt können Sie eine Verbindung zu dem herstellen CentOS8-01 Virtuelle Maschine eines VNC -Clients wie zuvor. Wie Sie sehen können, wird der CentOS 8 Minimal Server in der virtuellen KVM -Maschine gut ausgeführt.

Installieren von SSH -Server auf der virtuellen Maschine von CentOS 8

Das Hauptziel dieses Artikels ist es, eine Verbindung zu einem CentOS 8 -KVM -virtuellen Maschine über SSH herzustellen. Sie müssen über einen SSH -Server auf Ihrem CentOS 8 -KVM -Virtual Machine installiert sein, um eine Verbindung dazu über SSH herstellen zu können.

Installieren Sie den OpenSSH -Server auf Ihrem Centos 8 KVM Virtual Machine mit dem folgenden Befehl:

$ sudo dnf install OpenSSH -Server -y

Der OpenSSH -Server sollte nun installiert werden. In meinem Fall ist es bereits installiert.

Bestätigen Sie, dass die sshd Service ist Betrieb Und ermöglicht mit dem folgenden Befehl:

$ sudo systemctl Status SSHD

Wenn der sshd Der Service wird nicht ausgeführt, Sie können ihn mit dem folgenden Befehl starten:

$ sudo systemctl starten sshd

Wenn der sshd Der Dienst ist deaktiviert. Sie können ihn mit dem folgenden Befehl aktivieren:

$ sudo systemctl aktivieren sshd

Konfigurieren der Firewall der CentOS 8 Virtual Machine

Sie müssen die Firewall der virtuellen Maschine konfigurieren, um den Zugriff auf den SSH -Port zu ermöglichen. Andernfalls können Sie über SSH keine Verbindung zum virtuellen Computer herstellen, auch wenn alle Konfigurationen in Ordnung sind.

SSH Zugriff auf die virtuelle KVM -Maschine zu ermöglichen CentOS8-01, Führen Sie den folgenden Befehl aus:

$ sudo firewall-cmd --add-service = ssh --permanent

Führen Sie den folgenden Befehl aus, damit die Firewall -Änderungen wirksam werden müssen:

$ sudo firewall-cmd-Reload

Methode 1: Zugriff auf virtuelle Maschinen über SSH -Tunneling

Standardmäßig verwendet KVM die private Netzwerkbrücke Standard Für die Vernetzung der virtuellen Maschinen. Das IP -Adress -Subnetz der KVM Private Network Bridge Standard ist nicht in einem Heimnetzwerk zugänglich. Es ist nur von einem KVM -Host zugänglich zugänglich. Um SSH in Ihr CentOS 8 -KVM -Virtual -Computer von einem anderen Computer (in Ihrem Heimnetzwerk) zu befinden, müssen Sie die Verbindung über einen KVM -Host umgehen. Dies wird als SSH -Tunneling bezeichnet und funktioniert ähnlich wie ein VPN.

Damit SSH -Tunneling zur Arbeit ist, muss Ihr KVM -Host über einen SSH -Server installiert sein, und Sie müssen SSH -Zugriff auf den KVM -Host haben.

Wenn Ihr KVM -Host CentOS 8 ausführt, können Sie den OpenSSH -Server auf Ihrem KVM -Host mit dem folgenden Befehl installieren:

$ sudo dnf install OpenSSH -Server -y

Wenn Ihr KVM -Host Ubuntu 20 ausführt.04 LTS, dann können Sie den OpenSSH -Server auf Ihrem KVM -Host mit dem folgenden Befehl installieren:

$ sudo APT Installation OpenSSH -Server -y

Bestätigen Sie, dass die sshd Service ist Betrieb Und ermöglicht mit dem folgenden Befehl:

$ sudo systemctl Status SSHD

Wenn der sshd Der Service wird nicht ausgeführt, Sie können ihn mit dem folgenden Befehl starten:

$ sudo systemctl starten sshd

Wenn der sshd Der Dienst ist deaktiviert. Sie können ihn mit dem folgenden Befehl aktivieren:

$ sudo systemctl aktivieren sshd

Möglicherweise müssen Sie die Firewall Ihres KVM -Hosts konfigurieren, um SSH zu dem Zugriff auf sie zu ermöglichen.

Wenn Ihr KVM -Host das CentOS 8 -Betriebssystem verwendet, führen Sie den folgenden Befehl aus, um die Firewall zu konfigurieren:

$ sudo firewall-cmd --add-service = ssh --permanent

Führen Sie den folgenden Befehl aus, damit die Änderungen wirksam werden sollen:

$ sudo firewall-cmd-Reload

Wenn Ihr KVM -Host den Ubuntu 20 verwendet.04 LTS -Betriebssystem führen Sie den folgenden Befehl aus, um die Firewall zu konfigurieren:

$ sudo ufw erlauben ssh

Führen Sie den folgenden Befehl aus, damit die Änderungen wirksam werden sollen:

$ sudo UFW Reload

Ihre CentOS 8 KVM Virtuelle Maschine CentOS8-01 kann abgeschaltet werden.

$ sudo virsh liste -alle

Wenn dies der Fall ist, können Sie die virtuelle Maschine mit dem folgenden Befehl starten:

$ sudo virsh starten centos8-01

Stellen Sie mit einem VNC -Client eine Verbindung zu Ihrem CentOS 8 Virtual Machine her und führen Sie den folgenden Befehl auf der virtuellen Maschine aus, um die private IP -Adresse zu finden:

$ hostname -i

In meinem Fall ist die private IP -Adresse meiner virtuellen Maschine meiner CentOS 8 kvm 192.168.122.89. Dies kann für Sie anders sein.

Suchen Sie die IP -Adresse Ihres KVM -Hosts mit dem folgenden Befehl:

$ hostname -i | tr "" "\ n"

In meinem Fall lautet die IP -Adresse 192.168.20.131. Ich weiß das, weil mein Heimnetzwerk das Subnetz verwendet 192.168.20.0/24.

Um einen Tunnel zum CentOS 8 -KVM -Virtual Machine über den KVM -Host zu machen, führen Sie den folgenden Befehl von Ihrem Computer aus:

$ ssh -l 2200: 192.168.122.89:22 [email protected]

Hier das -L Die Option wird verwendet, um die SSH zu mitteilen, dass die lokale Portweiterleitung durchgeführt wird.

Dies wird alle Anfragen von der weiterleiten Lokalhost Hafen 2200 zum Hafen 22 der virtuellen Maschine von CentOS 8 KVM, die über die private IP -Adresse verfügt 192.168.122.89.

Da der Computer keinen direkten Zugriff auf das Netzwerk -Subnetz des CentOS 8 KVM Virtual Machine hat 192.168.122.0/24, Es tunneln die Anfrage über den KVM -Host, der direkten Zugriff auf dieses Netzwerksubnetz hat.

Hier, 192.168.20.131 ist die IP -Adresse des KVM -Hosts und Shovon ist der SSH -Login -Benutzername des KVM -Hosts.

Sobald Sie den Befehl ausgeführt haben, wird Ihnen möglicherweise die folgende Frage gestellt. Typ Ja und drücke .

Geben Sie das Kennwort des Anmeldebrauchs Ihres KVM -Hosts ein und drücken Sie .

Sie sollten jetzt über SSH mit dem KVM -Host verbunden sein.

Jetzt können Sie SSH in Ihre CentOS 8 KVM virtuelle Maschine auf der Lokalhost Hafen 2200 folgendermaßen:

$ ssh shovon@localhost -p 2200

Hier, Shovon ist der Anmelde -Benutzername des CentOS 8 KVM Virtual Machine.

Sobald Sie den Befehl ausgeführt haben, wird Ihnen möglicherweise die folgende Frage gestellt. Typ Ja und drücke .

Geben Sie das Kennwort des Anmeldebrauchs Ihrer virtuellen Maschine Ihres CentOS 8 kVM ein und drücken Sie .

Sie sollten jetzt mit dem virtuellen Maschine von CentOS 8 kVM über SSH angeschlossen sein, wie Sie im Screenshot unten sehen können.

Sie können auch jeden gewünschten Befehl hier ausführen.

Methode 2: Zugriff auf virtuelle Maschinen über KVM Public Network Bridge

Wenn Sie den virtuellen Maschine mit 8 kVM -Maschine mit vollen Zugriff auf Ihre CentOS -8 -KVM -Maschine wünschen, können Sie eine öffentliche KVM -Netzwerkbrücke konfigurieren. Eine öffentliche KVM -Netzwerkbrücke fungiert als Netzwerkschalter. Ihr CentOS 8 KVM Virtual Machine erhält eine IP -Adresse von demselben DHCP -Server wie Ihr Heimnetzwerk und im selben Netzwerk Subnetz wie Ihr Heimnetzwerk. Es ist also von jedem Gerät zugänglich, das mit Ihrem Heimnetzwerk verbunden ist.

Ich habe bereits eine KVM Public Network Bridge erstellt öffentlich und konfigurierte meine virtuelle Maschine von My CentOS 8 kVM, um die Brücke zu verwenden. Ich erkläre den Prozess der Erstellung der KVM Public Network Bridge in meinem Artikel So erstellen Sie eine CentOS 8 -KVM -Networked Bridge -Schnittstelle. Stellen Sie sicher, dass Sie es sich ansehen.

Sobald Sie eine KVM Public Network Bridge erstellt haben, müssen Sie Ihre virtuelle Maschine von CentOS 8 für die Verwendung der Brücke konfigurieren. Vor der Konfiguration Ihrer virtuellen Maschine von CentOS 8 CentOS8-01, Überprüfen Sie, ob die virtuelle Maschine von CentOS 8 KVM mit dem folgenden Befehl ausgeführt wird:

$ sudo virsh list -all

Wie Sie sehen können, ist die virtuelle Maschine von CentOS 8 kvm CentOS8-01 läuft. Wir sollten es stoppen, bevor wir es konfigurieren.

Sie können Ihre virtuelle Maschine von 8 KVM abschließen CentOS8-01 mit dem folgenden Befehl:

$ sudo virsh stilldown CentOS8-01

Wie Sie sehen können, wird die virtuelle Maschine von CentOS 8 kVm ausgeschaltet.

$ sudo virsh liste -alle

Standardmäßig verwendet die virtuelle Maschine von CentOS 8 kVM die Standard Private Netzwerkbrücke. Ich werde es so konfigurieren, dass es die Verwendung der Verwendung öffentlich Netzwerkbrücke, die ich bereits erstellt habe.

$ sudo virsh netlist-alle

Führen Sie den folgenden Befehl aus:

$ sudo virsh edit CentOS8-01

Finde die Schnittstelle Abschnitt, wie im Screenshot unten markiert. Ändere das Quelle Netzwerk von Standard Zu öffentlich.

NOTIZ: Die Konfigurationsdatei wird standardmäßig mit dem VI -Texteditor geöffnet. Drücken Sie, um die Konfigurationsdatei in VI zu bearbeiten ich zu gehen zu EINFÜGUNG Modus. Drücken Sie zum Speichern der Konfigurationsdatei , eintippen : WQ!, und dann drücken Sie .

Die Konfiguration der virtuellen Maschine sollte nun geändert werden.

Starten Sie die virtuelle Maschine von CentOS 8 kVM mit dem folgenden Befehl:

$ sudo virsh starten centos8-01

Stellen Sie nun mit einem VNC -Client eine virtuelle Maschine mit Ihrem CentOS 8 -KVM -Maschine her. Überprüfen Sie die IP -Adresse der virtuellen Maschine mit dem folgenden Befehl:

$ hostname -i

Wie Sie sehen können, lautet die IP -Adresse 192.168.20.133. Diese IP -Adresse wurde vom DHCP -Server meines Heimnetzwerks geliefert. Dies ist eine IP -Adresse des Netzwerk -Subnetzes 192.168.20.0/24, Welches ist das Subnetz meines Heimnetzwerks.

Jetzt können Sie wie folgt eine Verbindung zu dem CentOS 8 -KVM -Virtual -Computer von jedem Computer herstellen, der an Ihr Heimnetzwerk verbunden ist:

$ SSH [email protected]

Hier, Shovon ist der Anmelde -Benutzername des CentOS 8 KVM Virtual Machine.

Sobald Sie den Befehl ausgeführt haben, wird Ihnen möglicherweise die folgende Frage gestellt. Typ Ja und drücke .

Geben Sie das Kennwort des Anmeldebrauchs Ihrer virtuellen Maschine Ihres CentOS 8 kVM ein und drücken Sie .

Sie sollten jetzt mit dem virtuellen Maschine von CentOS 8 kVM über SSH angeschlossen sein, wie Sie im Screenshot unten sehen können.

Sie können auch jeden gewünschten Befehl hier ausführen.

Abschluss

Dieser Artikel hat Ihnen gezeigt, wie Sie eine virtuelle Maschine von KVM Centos 8 erstellen und über SSH eine Verbindung zur virtuellen Maschine herstellen können. Wenn die virtuelle Maschine von CentOS 8 KVM nicht über das Heimnetzwerk zugänglich ist (es wird eine private Netzwerkbrücke verwendet), müssen Sie mit SSH -Tunneling eine Verbindung zum KVM -Virtual -Computer mit SSH herstellen. Wenn Sie den virtuellen Maschine von CentOS 8 kVM vollen Zugriff wünschen, können Sie eine öffentliche Netzwerkbrücke einrichten und die virtuelle Maschine für die Verwendung der Brücke konfigurieren. Auf diese Weise kann Ihr KVM -Virtual Machine in Ihrem gesamten Heimnetzwerk aus zugänglich sein.