KVM

SSH fra Local Machine til Virtual via KVM og CentOS 8 Guest

SSH fra Local Machine til Virtual via KVM og CentOS 8 Guest
Som standard bruker KVM virtuelle maskiner private NAT-nettverk, som bare er tilgjengelige fra KVM-verten. Så du får ikke tilgang til KVM virtuelle maskiner fra hjemmenettverket. For å SSH inn i virtuelle maskiner som kjører på din KVM-vert, er det to metoder for å gjøre det: SSH-tunneling og konfigurering av en offentlig KVM-nettverksbro. Denne artikkelen viser deg hvordan du SSH til en KVM CentOS 8 virtuell maskin fra hjemmenettverket ditt via SSH-tunneling og bruker en offentlig KVM-nettverksbro.

Forutsetninger

For å prøve eksemplene i denne artikkelen må du ha KVM installert på datamaskinen din. Hvis du ikke har KVM installert på datamaskinen din, kan du lese følgende artikler på LinuxHint.com for å få hjelp til å installere KVM på ønsket Linux-distribusjon.

- Installer KVM på Ubuntu 20.04

- Installer KVM på CentOS 8

Lage en CentOS 8 KVM virtuell maskin

Denne delen viser deg hvordan du lager en virtuell CentOS 8 KVM-maskin for testing av SSH-tilkobling.

Last ned først installasjonsbildet for CentOS 8 ISO. For å holde alle virtuelle maskinfiler / data organisert, er det lurt å lagre ISO-bildet i / kvm / iso / katalog.

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

$ cd / kvm / iso

Du finner lenken til CentOS 8 ISO-installasjonsbildet på det offisielle ISO-nettstedet til CentOS.

Når siden er lastet inn, klikker du på nærmeste CentOS 8-speil.

Alle tilgjengelige CentOS 8 ISO-installasjonsbilder bør vises.

Jeg vil laste ned NetBoot ISO-installasjonsbildet til CentOS 8 for denne artikkelen. For å installere CentOS 8 på en virtuell KVM-maskin ved hjelp av NetBoot ISO-installasjonsbildet, krever den virtuelle maskinen Internett-tilkobling.

Hvis du ikke vil konfigurere nettverket mens du installerer CentOS 8 på den virtuelle maskinen, velger du enten minimal eller DVD ISO-installasjonsbilde av CentOS 8.

Høyreklikk (RMB) på ISO-filen for å laste ned og kopiere lenken til ISO-filen.

Last ned CentOS 8 ISO-installasjonsbildet ved hjelp av wget, som følger:

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

wget skal begynne å laste ned CentOS 8 ISO-bildet. Det tar litt tid å fullføre.

På dette tidspunktet bør CentOS 8 ISO-bildet lastes ned.

CentOS 8 ISO-bildet er tilgjengelig i / kvm / iso / katalog, som du kan se på skjermbildet nedenfor.

$ ls -lh

Når CentOS ISO-bildet er lastet ned, oppretter du en virtuell KVM-maskin med følgende kommando:

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

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

Operativsystemtypen er Linux og varianten er centos8.

RAM (Random Access Memory) til VM vil være 2048 MB eller 2 GB.

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

Den virtuelle maskinen vil være tilgjengelig via VNC (Virtual Network Computing) ekstern skrivebordsprotokoll, og VNC-serveren vil lytte på alle tilgjengelige nettverksgrensesnitt som er konfigurert på din KVM-vert.

KVM-verten vil ikke automatisk prøve å koble til den virtuelle maskinen når den virtuelle maskinen er opprettet. Den virtuelle maskinen vil kjøre i bakgrunnen.

Bruk full virtualisering for den virtuelle maskinen. Dette vil gjøre at virtuelle maskiner fungerer bedre.

Bruk CentOS 8 ISO-bildet som tidligere ble lastet ned som den virtuelle CD / DVD-ROMen til den virtuelle maskinen. Dette brukes til å installere CentOS 8 på den virtuelle maskinen.

Angir oppstartsrekkefølgen til den virtuelle maskinen. Den første oppstartsoppføringen er den virtuelle CD / DVD-ROMen, og deretter den virtuelle harddisken. Så den virtuelle maskinen vil kunne starte fra CentOS 8 ISO-bildet og installere CentOS 8 på harddisken.

Det er alle alternativene du trenger for å opprette en virtuell KVM-maskin.

Når du kjører virt-install kommando, bør KVM begynne å lage den virtuelle maskinen. Dette kan ta en stund, avhengig av konfigurasjonen for den virtuelle maskinen.

På dette tidspunktet skal den virtuelle KVM-maskinen opprettes.

Som du kan se, den nyopprettede virtuelle maskinen centos8-01 løper.

Nå kan du koble til den virtuelle maskinen ved hjelp av et hvilket som helst VNC-klientprogram og installere CentOS 8 på det. For å koble til den virtuelle maskinen via VNC, må du vite VNC-portnummeret til den virtuelle maskinen.

For å finne VNC-portnummeret til den virtuelle KVM-maskinen centos8-01, kjør følgende kommando:

$ virsh vncdisplay centos8-01

Som du kan se, er VNC-portnummeret til centos8-01 virtuell maskin er 1.

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

Som du kan se, den virtuelle KVM-maskinen centos8-01 kjører på port 5901 (:1).

$ sudo netstat -tln

Hvis KVM-verten kjører operativsystemet CentOS 8, kan du gi tilgang til porten 5901 med følgende kommando:

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

For at brannmurendringene skal tre i kraft, kjør følgende kommando:

$ sudo firewall-cmd --reload

Hvis KVM-verten kjører Ubuntu 20.04 LTS operativsystem, kan du gi tilgang til port 5901 med følgende kommando:

$ sudo ufw tillate 5901 / tcp

For at brannmurendringene skal tre i kraft, kjør følgende kommando:

$ sudo ufw på nytt

Finn IP-adressen til KVM-verten din med følgende kommando:

$ vertsnavn -I | tr "" "\ n"

Mitt hjemmenettverk bruker nettverksnettverket 192.168.20.0/24. Så IP-adressen til min KVM-vert er 192.168.20.131. De andre IP-adressene er private nettverksbroer til KVM-verten.

Åpne et hvilket som helst VNC-klientprogram og koble til adressen 192.168.20.131: 1.

Du bør se installasjonsvinduet for CentOS 8, som vist på skjermbildet nedenfor. Du kan installere CentOS 8 på den virtuelle KVM-maskinen som du vanligvis gjør.

Jeg installerer den minimale serverversjonen av CentOS 8 for demonstrasjonen i denne artikkelen.

CentOS 8 blir installert i den virtuelle KVM-maskinen centos8-01, som du kan se på skjermbildet nedenfor. Dette kan ta en stund å fullføre.

Når CentOS 8 er installert på den virtuelle maskinen, klikker du Start på nytt.

Den virtuelle KVM-maskinen centos8-01 skal slås av automatisk, som du kan se på skjermbildet nedenfor.

$ sudo virsh liste - alt

Start centos8-01 KVM virtuell maskin med følgende kommando:

$ virsh start centos8-01

Nå kan du koble til centos8-01 virtuell maskin fra en VNC-klient, som før. Som du kan se, kjører CentOS 8 minimal server helt fint i den virtuelle KVM-maskinen.

Installere SSH Server på CentOS 8 Virtual Machine

Hovedmålet med denne artikkelen er å koble til en virtuell maskin CentOS 8 KVM via SSH. Du må ha en SSH-server installert på CentOS 8 KVM virtuelle maskin for å kunne koble til den via SSH.

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

$ sudo dnf installerer openssh-server -y

OpenSSH-serveren skal nå være installert. I mitt tilfelle er den allerede installert.

Bekreft at sshd tjenesten er løping og aktivert med følgende kommando:

$ sudo systemctl status sshd

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

$ sudo systemctl start sshd

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

$ sudo systemctl aktiver sshd

Konfigurere brannmuren til CentOS 8 Virtual Machine

Du må konfigurere brannmuren til den virtuelle maskinen for å gi tilgang til SSH-porten. Ellers vil du ikke kunne koble til den virtuelle maskinen via SSH, selv om alle konfigurasjonene er i orden.

Å tillate SSH-tilgang til den virtuelle KVM-maskinen centos8-01, kjør følgende kommando:

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

For at brannmurendringene skal tre i kraft, kjør følgende kommando:

$ sudo firewall-cmd --reload

Metode 1: Få tilgang til virtuelle maskiner via SSH Tunneling

Som standard bruker KVM den private nettverksbroen misligholde for nettverksbygging av virtuelle maskiner. IP-adressens undernett til KVMs private nettverksbro misligholde er ikke tilgjengelig fra et hjemmenettverk. Den er bare tilgjengelig fra en KVM-vert. Så for å SSH inn i CentOS 8 KVM virtuell maskin fra en annen datamaskin (i hjemmenettverket), må du omgå tilkoblingen gjennom en KVM-vert. Dette kalles SSH tunneling og fungerer på samme måte som en VPN.

For at SSH-tunneling skal fungere, må KVM-verten ha en SSH-server installert, og du må ha SSH-tilgang til KVM-verten.

Hvis KVM-verten din kjører CentOS 8, kan du installere OpenSSH-serveren på KVM-verten din med følgende kommando:

$ sudo dnf installerer openssh-server -y

Hvis KVM-verten kjører Ubuntu 20.04 LTS, så kan du installere OpenSSH-serveren på KVM-verten din med følgende kommando:

$ sudo apt installerer openssh-server -y

Bekreft at sshd tjenesten er løping og aktivert med følgende kommando:

$ sudo systemctl status sshd

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

$ sudo systemctl start sshd

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

$ sudo systemctl aktiver sshd

Du må kanskje konfigurere brannmuren til KVM-verten for å gi SSH tilgang til den.

Hvis KVM-verten bruker operativsystemet CentOS 8, kjører du følgende kommando for å konfigurere brannmuren:

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

For at endringene skal tre i kraft, kjør følgende kommando:

$ sudo firewall-cmd --reload

Hvis KVM-verten bruker Ubuntu 20.04 LTS-operativsystem, kjør følgende kommando for å konfigurere brannmuren:

$ sudo ufw tillate ssh

For at endringene skal tre i kraft, kjør følgende kommando:

$ sudo ufw på nytt

Din virtuelle maskin fra CentOS 8 KVM centos8-01 kan være slått av.

$ sudo virsh liste - alt

Hvis det er tilfelle, kan du starte den virtuelle maskinen med følgende kommando:

$ sudo virsh start centos8-01

Koble til CentOS 8 virtuell maskin med en VNC-klient og kjør følgende kommando på den virtuelle maskinen for å finne sin private IP-adresse:

$ vertsnavn -I

I mitt tilfelle er den private IP-adressen til min virtuelle maskin CentOS 8 KVM 192.168.122.89. Dette kan være annerledes for deg.

Finn IP-adressen til KVM-verten din med følgende kommando:

$ vertsnavn -I | tr "" "\ n"

I mitt tilfelle er IP-adressen 192.168.20.131. Jeg vet dette fordi hjemmenettverket mitt bruker delnettet 192.168.20.0/24.

For å lage en tunnel til CentOS 8 KVM virtuell maskin via KVM-verten, kjør følgende kommando fra datamaskinen din:

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

Her, den -L alternativet brukes til å be SSH om å utføre videresending av lokale porter.

Dette vil videresende alle forespørsler som kommer fra lokal vert havn 2200 til havn 22 av CentOS 8 KVM virtuelle maskin, som har den private IP-adressen 192.168.122.89.

Siden datamaskinen ikke har direkte tilgang til nettverksundernettet til den virtuelle maskinen CentOS 8 KVM 192.168.122.0/24, den tunneler forespørselen gjennom KVM-verten, som har direkte tilgang til nettverksdelnettet.

Her, 192.168.20.131 er IP-adressen til KVM-verten og shovon er SSH-innloggingsbrukernavnet til KVM-verten.

Når du har kjørt kommandoen, kan du bli spurt følgende spørsmål. Type ja og trykk .

Skriv inn passordet til påloggingsbrukeren til KVM-verten og trykk .

Du bør nå være koblet til KVM-verten via SSH.

Nå kan du SSH inn i din virtuelle maskin CentOS 8 KVM på lokal vert havn 2200 som følger:

$ ssh shovon @ localhost -p 2200

Her, shovon er påloggingsbrukernavnet til den virtuelle maskinen CentOS 8 KVM.

Når du har kjørt kommandoen, kan du bli spurt følgende spørsmål. Type ja og trykk .

Skriv inn passordet til påloggingsbrukeren til din virtuelle maskin CentOS 8 KVM og trykk .

Du bør nå være koblet til CentOS 8 KVM virtuell maskin som kjører på KVM-verten din via SSH, som du kan se på skjermbildet nedenfor.

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

Metode 2: Få tilgang til virtuelle maskiner via KVM Public Network Bridge

Hvis du vil ha full tilgang til CentOS 8 KVM virtuell maskin, kan du konfigurere en offentlig KVM-nettverksbro. En offentlig KVM-nettverksbro fungerer som en nettverksbryter. Din virtuelle CentOS 8 KVM-maskin får en IP-adresse fra den samme DHCP-serveren som hjemmenettverket ditt og i samme nettverk subnett som hjemmenettverket ditt. Så det vil være tilgjengelig fra alle enheter som er koblet til hjemmenettverket.

Jeg har allerede opprettet en KVM offentlig nettverksbro offentlig og konfigurerte min virtuelle maskin CentOS 8 KVM til å bruke broen. Jeg forklarer prosessen med å lage KVMs offentlige nettverksbro i artikkelen min Hvordan lage et CentOS 8 KVM Networked Bridge Interface. Husk å sjekke det ut.

Når du har opprettet en KVM offentlig nettverksbro, må du konfigurere CentOS 8 virtuelle maskin for å bruke broen. Før du konfigurerer den virtuelle CentOS 8-maskinen centos8-01, sjekk om CentOS 8 KVM virtuell maskin kjører med følgende kommando:

$ sudo virsh list -all

Som du kan se, er den virtuelle maskinen CentOS 8 KVM centos8-01 løper. Vi bør stoppe det før vi konfigurerer det.

Du kan slå av din virtuelle maskin CentOS 8 KVM centos8-01 med følgende kommando:

$ sudo virsh shutdown centos8-01

Som du kan se, er CentOS 8 KVM virtuell maskin slått av.

$ sudo virsh liste - alt

Som standard bruker den virtuelle maskinen CentOS 8 KVM misligholde privat nettverksbro. Jeg vil konfigurere den til å bruke offentlig nettverksbro jeg allerede har opprettet.

$ sudo virsh net-list --all

For å redigere konfigurasjonen av CentOS 8 KVM virtuell maskin, kjør følgende kommando:

$ sudo virsh rediger centos8-01

Finn grensesnitt delen, som markert i skjermbildet nedenfor. Endre kilde nettverk fra misligholde til offentlig.

MERK: Konfigurasjonsfilen åpnes med Vi-teksteditoren som standard. Trykk på for å redigere konfigurasjonsfilen i Vi Jeg å gå til SETT INN modus. Trykk på for å lagre konfigurasjonsfilen , Skriv inn : wq!, og trykk deretter på .

Konfigurasjonen av den virtuelle maskinen skal nå endres.

Start CentOS 8 KVM virtuell maskin med følgende kommando:

$ sudo virsh start centos8-01

Nå, koble til CentOS 8 KVM virtuell maskin ved hjelp av en VNC-klient. Sjekk IP-adressen til den virtuelle maskinen med følgende kommando:

$ vertsnavn -I

Som du kan se, er IP-adressen 192.168.20.133. Denne IP-adressen ble levert av DHCP-serveren i hjemmenettverket mitt. Dette er en IP-adresse til nettverksnettverket 192.168.20.0/24, som er delnettet til hjemmenettverket mitt.

Nå kan du koble til CentOS 8 KVM virtuell maskin fra hvilken som helst datamaskin som er koblet til hjemmenettverket ditt, som følger:

$ ssh shovon @ 192.168.20.133

Her, shovon er påloggingsbrukernavnet til den virtuelle CentOS 8 KVM-maskinen.

Når du har kjørt kommandoen, kan du bli spurt følgende spørsmål. Type ja og trykk .

Skriv inn passordet til påloggingsbrukeren til din virtuelle maskin CentOS 8 KVM og trykk .

Du bør nå være koblet til CentOS 8 KVM virtuell maskin som kjører på KVM-verten din via SSH, som du kan se på skjermbildet nedenfor.

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

Konklusjon

Denne artikkelen viste deg hvordan du oppretter en KVM CentOS 8 virtuell maskin og kobler til den virtuelle maskinen via SSH. Når den virtuelle CentOS 8 KVM-maskinen ikke er tilgjengelig fra hjemmenettverket (den bruker en privat nettverksbro), må du bruke SSH-tunneling for å koble til den virtuelle KVM-maskinen ved hjelp av SSH. Når du vil ha full tilgang til CentOS 8 KVM virtuell maskin, kan du sette opp en offentlig nettverksbro og konfigurere den virtuelle maskinen til å bruke broen. På denne måten kan den virtuelle KVM-maskinen din være tilgjengelig fra hele hjemmenettverket.

Mus Hvordan endre musepekeren og markørstørrelse, farge og skjema på Windows 10
Hvordan endre musepekeren og markørstørrelse, farge og skjema på Windows 10
Musepekeren og markøren i Windows 10 er veldig viktige aspekter ved operativsystemet. Dette kan sies også for andre operativsystemer, så i sannhet er ...
Gratis og åpen kildekode-spillmotorer for utvikling av Linux-spill
Denne artikkelen vil dekke en liste over gratis og open source-spillmotorer som kan brukes til å utvikle 2D- og 3D-spill på Linux. Det er mange slike ...
Shadow of the Tomb Raider for Linux Tutorial
Shadow of the Tomb Raider er det tolvte tilskuddet til Tomb Raider-serien - et action-eventyrspill-franchise opprettet av Eidos Montreal. Spillet ble ...