KVM

SSH från Local Machine till Virtual via KVM och CentOS 8 Guest

SSH från Local Machine till Virtual via KVM och CentOS 8 Guest
Som standard använder virtuella KVM-datorer privata NAT-nätverk, som endast är tillgängliga från KVM-värden. Så du kan inte komma åt de virtuella KVM-maskinerna från ditt hemnätverk. För att SSH till virtuella maskiner som körs på din KVM-värd finns det två metoder för att göra det: SSH-tunnling och konfigurering av en offentlig KVM-nätverksbro. Den här artikeln visar hur du SSH till en KVM CentOS 8 virtuell maskin från ditt hemnätverk via SSH-tunnling och använder en offentlig KVM-nätverksbro.

Förutsättningar

För att prova exemplen i den här artikeln måste du ha KVM installerat på din dator. Om du inte har KVM installerad på din dator kan du läsa följande artiklar på LinuxHint.com för hjälp med att installera KVM på önskad Linux-distribution.

- Installera KVM på Ubuntu 20.04

- Installera KVM på CentOS 8

Skapa en virtuell maskin CentOS 8 KVM

Detta avsnitt visar hur du skapar en CentOS 8 KVM virtuell maskin för testning av SSH-anslutning.

Ladda först ned CentOS 8 ISO-installationsbilden. För att hålla alla virtuella maskinfiler / data organiserade är det en bra idé att lagra ISO-avbildningen i / kvm / iso / katalog.

Navigera till / kvm / iso / katalog med följande kommando:

$ cd / kvm / iso

Du hittar länken till CentOS 8 ISO-installationsbilden på den officiella ISO-webbplatsen för CentOS.

När sidan har laddats klickar du på din närmaste CentOS 8-spegel.

Alla tillgängliga CentOS 8 ISO-installationsbilder bör listas.

Jag laddar ner NetBoot ISO-installationsbilden för CentOS 8 för den här artikeln. För att installera CentOS 8 på en virtuell KVM-maskin med hjälp av NetBoot ISO-installationsavbilden kräver den virtuella maskinen internetanslutning.

Om du inte vill konfigurera nätverket när du installerar CentOS 8 på den virtuella maskinen väljer du antingen minimal eller den dvd ISO-installationsbild för CentOS 8.

Högerklicka (RMB) på ISO-filen för att ladda ner och kopiera länken till ISO-filen.

Ladda ner CentOS 8 ISO-installationsbilden med wget, som följer:

$ sudo wget http: // spegel.dhakacom.com / centos /
8.2.2004 / isos / x86_64 / CentOS-8.2.2004-x86_64-start.iso

wget bör börja ladda ner CentOS 8 ISO-bilden. Det tar ett tag att slutföra.

Vid denna tidpunkt bör CentOS 8 ISO-bilden laddas ner.

ISO-avbildningen för CentOS 8 finns i / kvm / iso / katalog, som du kan se på skärmdumpen nedan.

$ ls -lh

När CentOS ISO-avbildningen har laddats ner skapar du en virtuell KVM-maskin med följande kommando:

$ sudo virt-install --name centos8-01 \
--OS-typ Linux \
--os-variant centos8 \
--ram 2048 \
--disk / kvm / disk / centos8-01.img, enhet = disk, buss = virtio, storlek = 10, format = qcow2 \
--grafik vnc, lyssna = 0.0.0.0 \
--noautoconsole \
--hvm \
--cdrom / kvm / iso / CentOS-8.2.2004-x86_64-start.iso \
--starta cdrom, hd

Namnet på den virtuella maskinen kommer att vara centos8-01.

Operativsystemstypen är Linux och varianten är centos8.

RAM (Random Access Memory) för den virtuella datorn är 2048 MB eller 2 GB.

Den virtuella skivan till den virtuella datorn sparas i / kvm / disk / centos8-01.img fil. Den virtuella skivan handlar om 10 GB i storlek och formatet är QCOW2 (QEMU Copy-On-Write v2).

Den virtuella maskinen kommer att vara tillgänglig via VNC (Virtual Network Computing) fjärrskrivbordsprotokoll, och VNC-servern kommer att lyssna på alla tillgängliga nätverksgränssnitt som är konfigurerade på din KVM-värd.

KVM-värden försöker inte automatiskt ansluta till den virtuella maskinen när den virtuella maskinen har skapats. Den virtuella maskinen fortsätter att köras i bakgrunden.

Använd fullständig virtualisering för den virtuella maskinen. Detta gör att virtuella maskiner fungerar bättre.

Använd CentOS 8 ISO-avbildningen som tidigare hämtats som den virtuella maskinens virtuella CD / DVD-ROM. Detta används för att installera CentOS 8 på den virtuella maskinen.

Ställer in startordningen för den virtuella maskinen. Den första startposten är den virtuella CD / DVD-skivan och sedan den virtuella hårddisken. Så den virtuella maskinen kommer att kunna starta från CentOS 8 ISO-avbildningen och installera CentOS 8 på hårddisken.

Det är alla alternativ du behöver för att skapa en virtuell KVM-maskin.

När du kör virt-install kommando bör KVM börja skapa den virtuella maskinen. Det kan ta ett tag beroende på din virtuella maskinkonfiguration.

Vid den här tiden bör den virtuella KVM-maskinen skapas.

Som du kan se den nyskapade virtuella maskinen centos8-01 körs.

Nu kan du ansluta till den virtuella maskinen med valfritt VNC-klientprogram och installera CentOS 8 på det. För att ansluta till den virtuella maskinen via VNC måste du känna till den virtuella maskinens VNC-portnummer.

För att hitta VNC-portnumret på den virtuella KVM-maskinen centos8-01, kör följande kommando:

$ virsh vncdisplay centos8-01

Som du kan se VNC-portnumret på centos8-01 virtuell maskin är 1.

Här, hamn 0 betyder hamn 5900. På samma sätt, port 1 betyder hamn 5901, och så vidare.

Som du kan se, är den virtuella KVM-maskinen centos8-01 körs på port 5901 (: 1).

$ sudo netstat -tln

Om din KVM-värd kör CentOS 8-operativsystemet kan du ge åtkomst till port 5901 med följande kommando:

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

För att brandväggsändringarna ska träda i kraft, kör följande kommando:

$ sudo firewall-cmd --reload

Om din KVM-värd kör Ubuntu 20.04 LTS-operativsystem kan du tillåta åtkomst till port 5901 med följande kommando:

$ sudo ufw tillåter 5901 / tcp

För att brandväggsändringarna ska träda i kraft, kör följande kommando:

$ sudo ufw ladda om

Hitta IP-adressen till din KVM-värd med följande kommando:

$ värdnamn -I | tr "" "\ n"

Mitt hemnätverk använder nätverksundernätet 192.168.20.0/24. Så IP-adressen till min KVM-värd är 192.168.20.131. De andra IP-adresserna är privata nätverksbroar för KVM-värden.

Öppna valfritt VNC-klientprogram och anslut till adressen 192.168.20.131: 1.

Du bör se installationsfönstret för CentOS 8, som visas på skärmdumpen nedan. Du kan installera CentOS 8 på den virtuella KVM-maskinen som vanligt.

Jag installerar den minsta serverversionen av CentOS 8 för demonstrationen i den här artikeln.

CentOS 8 installeras i den virtuella KVM-maskinen centos8-01, som du kan se på skärmdumpen nedan. Det kan ta ett tag att slutföra.

När CentOS 8 är installerat på den virtuella maskinen klickar du på Starta om.

Den virtuella KVM-maskinen centos8-01 ska stängas av automatiskt, som du kan se på skärmdumpen nedan.

$ sudo virsh list - all

Starta centos8-01 KVM virtuell maskin med följande kommando:

$ virsh start centos8-01

Nu kan du ansluta till centos8-01 virtuell maskin från en VNC-klient, som tidigare. Som du kan se fungerar CentOS 8 minimal server bra på den virtuella KVM-maskinen.

Installera SSH-server på CentOS 8 Virtual Machine

Huvudmålet med den här artikeln är att ansluta till en virtuell CentOS 8 KVM-maskin via SSH. Du måste ha en SSH-server installerad på din virtuella CentOS 8 KVM-maskin för att kunna ansluta till den via SSH.

Installera OpenSSH-servern på din virtuella maskin CentOS 8 KVM med följande kommando:

$ sudo dnf installerar openssh-server -y

OpenSSH-servern ska nu installeras. I mitt fall är det redan installerat.

Bekräfta att sshd tjänsten är löpning och aktiverad med följande kommando:

$ sudo systemctl status sshd

Om den sshd tjänsten körs inte, du kan starta den med följande kommando:

$ sudo systemctl starta sshd

Om den sshd tjänsten är inaktiverad kan du aktivera den med följande kommando:

$ sudo systemctl aktivera sshd

Konfigurera brandväggen till virtuell maskin CentOS 8

Du måste konfigurera den virtuella maskinens brandvägg för att ge åtkomst till SSH-porten. Annars kommer du inte att kunna ansluta till den virtuella maskinen via SSH, även om alla konfigurationer är okej.

För att tillåta SSH-åtkomst till den virtuella KVM-maskinen centos8-01, kör följande kommando:

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

För att brandväggsändringarna ska träda i kraft, kör följande kommando:

$ sudo firewall-cmd --reload

Metod 1: Åtkomst till virtuella maskiner via SSH Tunneling

Som standard använder KVM den privata nätverksbryggan standard för nätverkande av virtuella maskiner. IP-adressundernätet för KVM: s privata nätverksbro standard är inte tillgänglig från ett hemnätverk. Det är endast tillgängligt från en KVM-värd. För att SSH till din virtuella maskin CentOS 8 KVM från en annan dator (i ditt hemnätverk) måste du kringgå anslutningen via en KVM-värd. Detta kallas SSH-tunnling och fungerar som en VPN.

För att SSH-tunnling ska fungera måste din KVM-värd ha en SSH-server installerad och du måste ha SSH-åtkomst till KVM-värden.

Om din KVM-värd kör CentOS 8 kan du installera OpenSSH-servern på din KVM-värd med följande kommando:

$ sudo dnf installerar openssh-server -y

Om din KVM-värd kör Ubuntu 20.04 LTS, då kan du installera OpenSSH-servern på din KVM-värd med följande kommando:

$ sudo apt installerar openssh-server -y

Bekräfta att sshd tjänsten är löpning och aktiverad med följande kommando:

$ sudo systemctl status sshd

Om den sshd tjänsten körs inte, du kan starta den med följande kommando:

$ sudo systemctl starta sshd

Om den sshd tjänsten är inaktiverad kan du aktivera den med följande kommando:

$ sudo systemctl aktivera sshd

Du kan behöva konfigurera brandväggen till din KVM-värd för att ge SSH-åtkomst till den.

Om din KVM-värd använder operativsystemet CentOS 8, kör du följande kommando för att konfigurera brandväggen:

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

För att ändringarna ska träda i kraft, kör följande kommando:

$ sudo firewall-cmd --reload

Om din KVM-värd använder Ubuntu 20.04 LTS-operativsystem, kör följande kommando för att konfigurera brandväggen:

$ sudo ufw tillåt ssh

För att ändringarna ska träda i kraft, kör följande kommando:

$ sudo ufw ladda om

Din virtuella maskin från CentOS 8 KVM centos8-01 kan vara avstängd.

$ sudo virsh list - all

Om så är fallet kan du starta den virtuella maskinen med följande kommando:

$ sudo virsh start centos8-01

Anslut till din virtuella maskin CentOS 8 med en VNC-klient och kör följande kommando på den virtuella maskinen för att hitta sin privata IP-adress:

$ värdnamn -I

I mitt fall är den privata IP-adressen till min virtuella maskin CentOS 8 KVM 192.168.122.89. Det här kan vara annorlunda för dig.

Hitta IP-adressen till din KVM-värd med följande kommando:

$ värdnamn -I | tr "" "\ n"

I mitt fall är IP-adressen 192.168.20.131. Jag vet detta eftersom mitt hemnätverk använder undernätet 192.168.20.0/24.

För att skapa en tunnel till CentOS 8 KVM virtuell maskin via KVM-värden, kör du följande kommando från din dator:

$ ssh -L 2200: 192.168.122.89:22 shovon @ 192.168.20.131

Här, den -L alternativet används för att berätta för SSH att utföra vidarebefordran av port.

Detta kommer att vidarebefordra alla förfrågningar från lokal värd hamn 2200 till hamn 22 av den virtuella CentOS 8 KVM-maskinen, som har den privata IP-adressen 192.168.122.89.

Eftersom datorn inte har direkt tillgång till nätverksundernätet till CentOS 8 KVM virtuella maskin 192.168.122.0/24, den tunnlar begäran genom KVM-värden, som har direkt åtkomst till det nätverksundernätet.

Här, 192.168.20.131 är KVM-värdens IP-adress och shovon är SSH-inloggningsanvändarnamnet för KVM-värden.

När du har kört kommandot kan du ställa följande fråga. Typ ja och tryck .

Skriv in lösenordet för inloggningsanvändaren för din KVM-värd och tryck .

Du ska nu vara ansluten till KVM-värden via SSH.

Nu kan du SSH till din virtuella maskin CentOS 8 KVM på lokal värd hamn 2200 som följer:

$ ssh shovon @ localhost -p 2200

Här, shovon är användarnamnet för inloggning på den virtuella maskinen CentOS 8 KVM.

När du har kört kommandot kan du ställa följande fråga. Typ ja och tryck .

Skriv in lösenordet för inloggningsanvändaren till din virtuella maskin CentOS 8 KVM och tryck på .

Du bör nu vara ansluten till CentOS 8 KVM virtuell maskin som körs på din KVM-värd via SSH, som du kan se på skärmdumpen nedan.

Du kan också köra vilket kommando du vill här.

Metod 2: Åtkomst till virtuella maskiner via KVM Public Network Bridge

Om du vill ha full åtkomst till din virtuella CentOS 8 KVM-maskin kan du konfigurera en offentlig KVM-nätverksbro. En offentlig KVM-nätverksbro fungerar som en nätverksswitch. Din virtuella maskin CentOS 8 KVM får en IP-adress från samma DHCP-server som ditt hemnätverk och, i samma nätverk, subnät som ditt hemnätverk. Så det kommer att vara tillgängligt från alla enheter som är anslutna till ditt hemnätverk.

Jag har redan skapat en KVM-nätverksbro offentlig och konfigurerade min virtuella maskin CentOS 8 KVM för att använda bron. Jag förklarar processen för att skapa KVMs offentliga nätverksbro i min artikel Hur man skapar ett CentOS 8 KVM Networked Bridge Interface. Var noga med att kolla in den.

När du har skapat en KVM-nätverksbro måste du konfigurera din virtuella maskin CentOS 8 för att använda bron. Innan du konfigurerar din virtuella maskin CentOS 8 centos8-01, kontrollera om CentOS 8 KVM virtuella maskin körs med följande kommando:

$ sudo virsh list -all

Som du kan se, den virtuella maskinen CentOS 8 KVM centos8-01 körs. Vi bör stoppa det innan vi konfigurerar det.

Du kan stänga av din virtuella maskin CentOS 8 KVM centos8-01 med följande kommando:

$ sudo virsh avstängning centos8-01

Som du kan se är den virtuella maskinen CentOS 8 KVM avstängd.

$ sudo virsh list - all

Som standard använder den virtuella maskinen CentOS 8 KVM standard privat nätverksbro. Jag kommer att konfigurera den för att använda offentlig nätverksbro jag redan har skapat.

$ sudo virsh net-list - all

Kör följande kommando för att redigera konfigurationen för den virtuella CentOS 8 KVM-maskinen:

$ sudo virsh redigera centos8-01

Hitta gränssnitt avsnitt, som markerat i skärmdumpen nedan. Ändra källa nätverk från standard till offentlig.

NOTERA: Konfigurationsfilen öppnas med Vi-textredigeraren som standard. För att redigera konfigurationsfilen i Vi, tryck på i att gå till FÖRA IN läge. Tryck på för att spara konfigurationsfilen , Skriv in : wq!, och tryck sedan på .

Konfigurationen av den virtuella maskinen ska nu ändras.

Starta CentOS 8 KVM virtuell maskin med följande kommando:

$ sudo virsh start centos8-01

Anslut nu till din virtuella maskin CentOS 8 KVM med en VNC-klient. Kontrollera IP-adressen till den virtuella maskinen med följande kommando:

$ värdnamn -I

Som du kan se är IP-adressen 192.168.20.133. Denna IP-adress levererades av DHCP-servern i mitt hemnätverk. Detta är en IP-adress till nätverksundernätet 192.168.20.0/24, vilket är undernätet till mitt hemnätverk.

Nu kan du ansluta till CentOS 8 KVM virtuell maskin från vilken dator som helst som är ansluten till ditt hemnätverk enligt följande:

$ ssh shovon @ 192.168.20.133

Här, shovon är användarnamnet för inloggning på den virtuella maskinen CentOS 8 KVM.

När du har kört kommandot kan du ställa följande fråga. Typ ja och tryck .

Skriv in lösenordet för inloggningsanvändaren på din virtuella maskin CentOS 8 KVM och tryck på .

Du bör nu vara ansluten till CentOS 8 KVM virtuell maskin som körs på din KVM-värd via SSH, som du kan se på skärmdumpen nedan.

Du kan också köra vilket kommando du vill här.

Slutsats

Den här artikeln visade dig hur du skapar en KVM CentOS 8 virtuell maskin och ansluter till den virtuella maskinen via SSH. När den virtuella CentOS 8 KVM-maskinen inte är tillgänglig från hemnätverket (den använder en privat nätverksbro) måste du använda SSH-tunnling för att ansluta till den virtuella KVM-maskinen med SSH. När du vill ha full tillgång till CentOS 8 KVM virtuell maskin kan du ställa in en offentlig nätverksbro och konfigurera den virtuella maskinen för att använda bron. På så sätt kan din virtuella KVM-maskin nås från hela ditt hemnätverk.

Mus Lägg till musgester i Windows 10 med dessa gratisverktyg
Lägg till musgester i Windows 10 med dessa gratisverktyg
Under senare år har datorer och operativsystem utvecklats kraftigt. Det fanns en tid då användare var tvungna att använda kommandon för att navigera g...
Mus Kontrollera och hantera musrörelser mellan flera skärmar i Windows 10
Kontrollera och hantera musrörelser mellan flera skärmar i Windows 10
Dual Display Mouse Manager låter dig kontrollera och konfigurera musrörelser mellan flera skärmar genom att sakta ner dess rörelser nära gränsen. Wind...
Mus WinMouse låter dig anpassa och förbättra muspekarens rörelse på Windows PC
WinMouse låter dig anpassa och förbättra muspekarens rörelse på Windows PC
Om du vill förbättra standardfunktionerna för din muspekare, använd freeware WinMouse. Det lägger till fler funktioner som hjälper dig att få ut det m...