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-01Som 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 sshdOm den sshd tjänsten är inaktiverad kan du aktivera den med följande kommando:
$ sudo systemctl aktivera sshdKonfigurera 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 -yBekrä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 sshdOm den sshd tjänsten är inaktiverad kan du aktivera den med följande kommando:
$ sudo systemctl aktivera sshdDu 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 -II 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 -allSom 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
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 -ISom 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.