KVM

SSH fra lokal maskine til virtuel via KVM og CentOS 8 Guest

SSH fra lokal maskine til virtuel via KVM og CentOS 8 Guest
Som standard bruger virtuelle KVM-maskiner private NAT-netværk, som kun er tilgængelige fra KVM-værten. Så du kan ikke få adgang til virtuelle KVM-maskiner fra dit hjemmenetværk. For at SSH ind i virtuelle maskiner, der kører på din KVM-vært, er der to metoder til at gøre det: SSH-tunneling og konfiguration af en offentlig KVM-netværksbro. Denne artikel viser dig, hvordan du SSH til en KVM CentOS 8 virtuel maskine fra dit hjemmenetværk via SSH-tunneling og ved hjælp af en offentlig KVM-netværksbro.

Forudsætninger

For at prøve eksemplerne i denne artikel skal du have KVM installeret på din computer. Hvis du ikke har KVM installeret på din computer, kan du læse følgende artikler på LinuxHint.com for hjælp til installation af KVM på din ønskede Linux-distribution.

- Installer KVM på Ubuntu 20.04

- Installer KVM på CentOS 8

Oprettelse af en CentOS 8 KVM virtuel maskine

Dette afsnit viser dig, hvordan du opretter en CentOS 8 KVM virtuel maskine til test af SSH-forbindelse.

Først skal du downloade CentOS 8 ISO-installationsbillede. For at holde alle de virtuelle maskinfiler / data organiseret, er det en god ide at gemme ISO-billedet i / kvm / iso / vejviser.

Naviger til / kvm / iso / bibliotek med følgende kommando:

$ cd / kvm / iso

Du kan finde linket til CentOS 8 ISO-installationsbillede på det officielle ISO-websted for CentOS.

Når siden er indlæst, skal du klikke på dit nærmeste CentOS 8-spejl.

Alle tilgængelige CentOS 8 ISO-installationsbilleder skal vises.

Jeg downloader NetBoot ISO-installationsbillede af CentOS 8 til denne artikel. For at installere CentOS 8 på en virtuel KVM-maskine ved hjælp af NetBoot ISO-installationsbillede kræver den virtuelle maskine internetforbindelse.

Hvis du ikke vil konfigurere netværket, mens du installerer CentOS 8 på den virtuelle maskine, skal du vælge enten minimal eller den dvd ISO-installationsbillede af CentOS 8.

Højreklik (RMB) på ISO-filen for at downloade og kopiere linket til ISO-filen.

Download CentOS 8 ISO-installationsbillede ved hjælp af wget, som følger:

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

wget skal begynde at downloade CentOS 8 ISO-billedet. Det tager et stykke tid at gennemføre.

På dette tidspunkt skal CentOS 8 ISO-billedet downloades.

CentOS 8 ISO-billedet er tilgængeligt i / kvm / iso / bibliotek, som du kan se på skærmbilledet nedenfor.

$ ls -lh

Når CentOS ISO-billedet er downloadet, skal du oprette en virtuel KVM-maskine med følgende kommando:

$ sudo virt-install - navn centos8-01 \
--OS-type Linux \
--os-variant centos8 \
--ram 2048 \
--disk / kvm / disk / centos8-01.img, enhed = disk, bus = virtio, størrelse = 10, format = qcow2 \
--grafik vnc, lyt = 0.0.0.0 \
--noautoconsole \
--hvm \
--cdrom / kvm / iso / CentOS-8.2.2004-x86_64-boot.iso \
--boot cdrom, hd

Navnet på den virtuelle maskine vil være centos8-01.

Operativsystemtypen er Linux og varianten er centos8.

RAM (Random Access Memory) på den virtuelle computer er 2048 MB eller 2 GB.

VM's virtuelle disk gemmes i / kvm / disk / centos8-01.img fil. Den virtuelle disk handler om 10 GB i størrelse og formatet er QCOW2 (QEMU Copy-On-Write v2).

Den virtuelle maskine vil være tilgængelig via VNC (Virtual Network Computing) remote desktop-protokol, og VNC-serveren vil lytte på alle tilgængelige netværksgrænseflader konfigureret på din KVM-vært.

KVM-værten forsøger ikke automatisk at oprette forbindelse til den virtuelle maskine, når den virtuelle maskine er oprettet. Den virtuelle maskine fortsætter med at køre i baggrunden.

Brug fuld virtualisering til den virtuelle maskine. Dette får virtuelle maskiner til at fungere bedre.

Brug CentOS 8 ISO-billedet, der tidligere blev downloadet som den virtuelle maskins virtuelle CD / DVD-ROM. Dette bruges til installation af CentOS 8 på den virtuelle maskine.

Indstiller opstartsrækkefølgen for den virtuelle maskine. Den første opstartsindgang er den virtuelle CD / DVD-ROM og derefter den virtuelle harddisk. Så den virtuelle maskine kan starte fra CentOS 8 ISO-billedet og installere CentOS 8 på harddisken.

Det er alle de muligheder, du har brug for for at oprette en virtuel KVM-maskine.

Når du kører virt-install kommando, skal KVM begynde at oprette den virtuelle maskine. Dette kan tage et stykke tid afhængigt af din virtuelle maskinkonfiguration.

På dette tidspunkt skal den virtuelle KVM-maskine oprettes.

Som du kan se, den nyoprettede virtuelle maskine centos8-01 løber.

Nu kan du oprette forbindelse til den virtuelle maskine ved hjælp af ethvert VNC-klientprogram og installere CentOS 8 på det. For at oprette forbindelse til den virtuelle maskine via VNC skal du kende den virtuelle maskines VNC-portnummer.

For at finde VNC-portnummeret på den virtuelle KVM-maskine centos8-01, kør følgende kommando:

$ virsh vncdisplay centos8-01

Som du kan se, er VNC-portnummeret på centos8-01 virtuel maskine er 1.

Her, havn 0 betyder havn 5900. På samme måde port 1 betyder havn 5901, og så videre.

Som du kan se, den virtuelle KVM-maskine centos8-01 kører på havn 5901 (: 1).

$ sudo netstat -tln

Hvis din KVM-vært kører CentOS 8-operativsystemet, kan du give adgang til port 5901 med følgende kommando:

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

For at firewallændringerne skal træde i kraft, skal du køre følgende kommando:

$ sudo firewall-cmd --reload

Hvis din KVM-vært kører Ubuntu 20.04 LTS-operativsystem, kan du give adgang til port 5901 med følgende kommando:

$ sudo ufw tillader 5901 / tcp

For at firewallændringerne skal træde i kraft, skal du køre følgende kommando:

$ sudo ufw genindlæs

Find IP-adressen på din KVM-vært med følgende kommando:

$ værtsnavn -I | tr "" "\ n"

Mit hjemmenetværk bruger netværksundernettet 192.168.20.0/24. Så IP-adressen på min KVM-vært er 192.168.20.131. De andre IP-adresser er private netværksbroer til KVM-værten.

Åbn ethvert VNC-klientprogram, og opret forbindelse til adressen 192.168.20.131: 1.

Du skal se installationsvinduet til CentOS 8 som vist på skærmbilledet nedenfor. Du kan installere CentOS 8 på den virtuelle KVM-maskine, som du normalt ville.

Jeg installerer den minimale serverversion af CentOS 8 til demonstration i denne artikel.

CentOS 8 installeres i den virtuelle KVM-maskine centos8-01, som du kan se på skærmbilledet nedenfor. Dette kan tage et stykke tid at gennemføre.

Når CentOS 8 er installeret på den virtuelle maskine, skal du klikke på Genstart.

Den virtuelle KVM-maskine centos8-01 skal slukkes automatisk, som du kan se på skærmbilledet nedenfor.

$ sudo virsh liste - alt

Start centos8-01 KVM virtuel maskine med følgende kommando:

$ virsh start centos8-01

Nu kan du oprette forbindelse til centos8-01 virtuel maskine fra en VNC-klient som før. Som du kan se, kører CentOS 8 minimal server fint i den virtuelle KVM-maskine.

Installation af SSH-server på CentOS 8 Virtual Machine

Hovedmålet med denne artikel er at oprette forbindelse til en virtuel CentOS 8 KVM-maskine via SSH. Du skal have en SSH-server installeret på din virtuelle CentOS 8 KVM-maskine for at kunne oprette forbindelse til den via SSH.

Installer OpenSSH-serveren på din virtuelle CentOS 8 KVM-maskine med følgende kommando:

$ sudo dnf installerer openssh-server -y

OpenSSH-serveren skal nu installeres. I mit tilfælde er det allerede installeret.

Bekræft, at sshd tjenesten er kører og aktiveret med følgende kommando:

$ sudo systemctl status sshd

Hvis den sshd tjenesten kører ikke, kan du starte den med følgende kommando:

$ sudo systemctl start sshd

Hvis den sshd tjenesten er deaktiveret, kan du aktivere den med følgende kommando:

$ sudo systemctl aktiver sshd

Konfiguration af Firewall på CentOS 8 Virtual Machine

Du skal konfigurere firewallen på den virtuelle maskine for at give adgang til SSH-porten. Ellers kan du ikke oprette forbindelse til den virtuelle maskine via SSH, selvom alle konfigurationer er i orden.

For at tillade SSH-adgang til den virtuelle KVM-maskine centos8-01, kør følgende kommando:

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

For at firewallændringerne skal træde i kraft, skal du køre følgende kommando:

$ sudo firewall-cmd --reload

Metode 1: Adgang til virtuelle maskiner via SSH Tunneling

Som standard bruger KVM den private netværksbro Standard til netværk af de virtuelle maskiner. IP-adressens undernet til KVMs private netværksbro Standard er ikke tilgængelig fra et hjemmenetværk. Det er kun tilgængeligt fra en KVM-vært. Så for at SSH ind i din CentOS 8 KVM virtuelle maskine fra en anden computer (i dit hjemmenetværk) skal du omgå forbindelsen via en KVM-vært. Dette kaldes SSH-tunneling og fungerer som en VPN.

For at SSH-tunneling kan fungere, skal din KVM-vært have en SSH-server installeret, og du skal have SSH-adgang til KVM-værten.

Hvis din KVM-vært kører CentOS 8, kan du installere OpenSSH-serveren på din KVM-vært med følgende kommando:

$ sudo dnf installerer openssh-server -y

Hvis din KVM-vært kører Ubuntu 20.04 LTS, så kan du installere OpenSSH-serveren på din KVM-vært med følgende kommando:

$ sudo apt installerer openssh-server -y

Bekræft, at sshd tjenesten er kører og aktiveret med følgende kommando:

$ sudo systemctl status sshd

Hvis den sshd tjenesten kører ikke, kan du starte den med følgende kommando:

$ sudo systemctl start sshd

Hvis den sshd tjenesten er deaktiveret, kan du aktivere den med følgende kommando:

$ sudo systemctl aktiver sshd

Du bliver muligvis nødt til at konfigurere firewallen til din KVM-vært for at give SSH adgang til den.

Hvis din KVM-vært bruger operativsystemet CentOS 8, skal du køre følgende kommando for at konfigurere firewall:

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

For at ændringerne skal træde i kraft, skal du køre følgende kommando:

$ sudo firewall-cmd --reload

Hvis din KVM-vært bruger Ubuntu 20.04 LTS-operativsystem, kør følgende kommando for at konfigurere firewall:

$ sudo ufw tillader ssh

For at ændringerne skal træde i kraft, skal du køre følgende kommando:

$ sudo ufw genindlæs

Din CentOS 8 KVM virtuelle maskine centos8-01 kan være slukket.

$ sudo virsh liste - alt

Hvis det er tilfældet, kan du starte den virtuelle maskine med følgende kommando:

$ sudo virsh start centos8-01

Opret forbindelse til din virtuelle CentOS 8-maskine med en VNC-klient, og kør følgende kommando på den virtuelle maskine for at finde dens private IP-adresse:

$ værtsnavn -I

I mit tilfælde er den private IP-adresse på min CentOS 8 KVM virtuelle maskine 192.168.122.89. Dette kan være anderledes for dig.

Find IP-adressen på din KVM-vært med følgende kommando:

$ værtsnavn -I | tr "" "\ n"

I mit tilfælde er IP-adressen 192.168.20.131. Jeg ved dette, fordi mit hjemmenetværk bruger undernettet 192.168.20.0/24.

For at lave en tunnel til CentOS 8 KVM virtuel maskine via KVM-værten skal du køre følgende kommando fra din computer:

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

Her, den -L mulighed bruges til at fortælle SSH at udføre lokal portvideresendelse.

Dette videresender alle anmodninger fra lokal vært Havn 2200 til havn 22 af den virtuelle CentOS 8 KVM-maskine, som har den private IP-adresse 192.168.122.89.

Da computeren ikke har direkte adgang til netværksundernettet på den virtuelle maskine CentOS 8 KVM 192.168.122.0/24, det tunnellerer anmodningen gennem KVM-værten, som har direkte adgang til netværksundernettet.

Her, 192.168.20.131 er KVM-værts IP-adresse og shovon er SSH-login-brugernavnet på KVM-værten.

Når du har kørt kommandoen, kan du blive bedt om følgende spørgsmål. Type Ja og tryk på .

Indtast adgangskoden til loginbrugeren til din KVM-vært, og tryk på .

Du skal nu være forbundet til KVM-værten via SSH.

Nu kan du SSH ind på din CentOS 8 KVM virtuelle maskine på lokal vært Havn 2200 som følger:

$ ssh shovon @ localhost -p 2200

Her, shovon er login-brugernavnet på den virtuelle CentOS 8 KVM-maskine.

Når du har kørt kommandoen, kan du blive bedt om følgende spørgsmål. Type Ja og tryk på .

Indtast adgangskoden til loginbrugeren på din virtuelle CentOS 8 KVM-maskine, og tryk på .

Du skal nu være tilsluttet den virtuelle maskine CentOS 8 KVM, der kører på din KVM-vært via SSH, som du kan se i skærmbilledet nedenfor.

Du kan også køre en hvilken som helst kommando her.

Metode 2: Adgang til virtuelle maskiner via KVM Public Network Bridge

Hvis du vil have fuld adgang til din virtuelle CentOS 8 KVM-maskine, kan du konfigurere en offentlig KVM-netværksbro. En offentlig KVM-netværksbro fungerer som en netværksafbryder. Din virtuelle CentOS 8 KVM-maskine får en IP-adresse fra den samme DHCP-server som dit hjemmenetværk og i samme netværk subnet som dit hjemmenetværk. Så det vil være tilgængeligt fra alle enheder, der er tilsluttet dit hjemmenetværk.

Jeg har allerede oprettet en KVM-offentlig netværksbro offentlig og konfigurerede min CentOS 8 KVM virtuelle maskine til at bruge broen. Jeg forklarer processen med at oprette KVMs offentlige netværksbro i min artikel Sådan oprettes et CentOS 8 KVM Networked Bridge Interface. Sørg for at tjekke det ud.

Når du har oprettet en offentlig KVM-netværksbro, skal du konfigurere din virtuelle maskine CentOS 8 til at bruge broen. Før du konfigurerer din virtuelle CentOS 8-maskine centos8-01, Kontroller, om den virtuelle maskine CentOS 8 KVM kører med følgende kommando:

$ sudo virsh liste -all

Som du kan se, den virtuelle maskine CentOS 8 KVM centos8-01 løber. Vi skal stoppe det, før vi konfigurerer det.

Du kan slukke for din CentOS 8 KVM virtuelle maskine centos8-01 med følgende kommando:

$ sudo virsh nedlukning centos8-01

Som du kan se, er den virtuelle maskine CentOS 8 KVM slukket.

$ sudo virsh liste - alt

Som standard bruger CentOS 8 KVM virtuel maskine Standard privat netværksbro. Jeg vil konfigurere det til at bruge offentlig netværksbro, jeg allerede har oprettet.

$ sudo virsh net-list - alt

For at redigere konfigurationen af ​​CentOS 8 KVM virtuel maskine skal du køre følgende kommando:

$ sudo virsh rediger centos8-01

Find interface sektion, som markeret i skærmbilledet nedenfor. Skift kilde netværk fra Standard til offentlig.

BEMÆRK: Konfigurationsfilen åbnes som standard med Vi-teksteditoren. For at redigere konfigurationsfilen i Vi skal du trykke på jeg at tage til INDSÆT mode. Tryk på for at gemme konfigurationsfilen , indtaste : wq!, og tryk derefter på .

Konfigurationen af ​​den virtuelle maskine skal nu ændres.

Start CentOS 8 KVM virtuel maskine med følgende kommando:

$ sudo virsh start centos8-01

Opret nu forbindelse til din virtuelle CentOS 8 KVM-maskine ved hjælp af en VNC-klient. Kontroller IP-adressen på den virtuelle maskine med følgende kommando:

$ værtsnavn -I

Som du kan se, er IP-adressen 192.168.20.133. Denne IP-adresse blev leveret af DHCP-serveren i mit hjemmenetværk. Dette er en IP-adresse på netværksundernettet 192.168.20.0/24, hvilket er undernettet til mit hjemmenetværk.

Nu kan du oprette forbindelse til CentOS 8 KVM virtuel maskine fra enhver computer, der er tilsluttet dit hjemmenetværk, som følger:

$ ssh shovon @ 192.168.20.133

Her, shovon er login-brugernavnet på den virtuelle CentOS 8 KVM-maskine.

Når du har kørt kommandoen, kan du blive bedt om følgende spørgsmål. Type Ja og tryk på .

Indtast adgangskoden til loginbrugeren til din virtuelle CentOS 8 KVM-maskine, og tryk på .

Du skal nu være tilsluttet den virtuelle maskine CentOS 8 KVM, der kører på din KVM-vært via SSH, som du kan se i skærmbilledet nedenfor.

Du kan også køre en hvilken som helst kommando her.

Konklusion

Denne artikel viste dig, hvordan du opretter en KVM CentOS 8 virtuel maskine og opretter forbindelse til den virtuelle maskine via SSH. Når den virtuelle CentOS 8 KVM-maskine ikke er tilgængelig fra hjemmenetværket (den bruger en privat netværksbro), skal du bruge SSH-tunneling til at oprette forbindelse til den virtuelle KVM-maskine ved hjælp af SSH. Når du vil have fuld adgang til den virtuelle maskine CentOS 8 KVM, kan du oprette en offentlig netværksbro og konfigurere den virtuelle maskine til at bruge broen. På denne måde kan din virtuelle KVM-maskine være tilgængelig fra hele dit hjemmenetværk.

Bedste apps til Gamepad Mapping til Linux
Hvis du kan lide at spille spil på Linux med en gamepad i stedet for et typisk tastatur- og musesystem, er der nogle nyttige apps til dig. Mange pc-sp...
Nyttige værktøjer til Linux-spillere
Hvis du kan lide at spille spil på Linux, er chancerne for, at du måske har brugt apps og hjælpeprogrammer som Wine, Lutris og OBS Studio for at forbe...
HD Remastered-spil til Linux, der aldrig tidligere havde haft en Linux-udgivelse
Mange spiludviklere og udgivere kommer med HD-remaster af gamle spil for at forlænge franchisens levetid. Venligst fans, der anmoder om kompatibilitet...