SSH fra lokal maskin til virtuell via KVM og Centos 8 Guest

SSH fra lokal maskin til virtuell via KVM og Centos 8 Guest
Som standard bruker KVM virtuelle maskiner private NAT -nettverk, som bare er tilgjengelige fra KVM -verten. Så du har ikke tilgang til de virtuelle KVM -virtuelle maskiner fra hjemmenettverket. For å SSH til virtuelle maskiner som kjører på KVM -verten din, er det to metoder for å gjøre det: SSH -tunneling og konfigurering av en offentlig KVM -nettverksbro. Denne artikkelen viser deg hvordan du kan SSH til en KVM Centos 8 Virtual Machine fra hjemmenettverket ditt via SSH Tunneling og ved hjelp av 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 hjelp til å installere KVM på ønsket Linux -distribusjon.

- Installer KVM på Ubuntu 20.04

- Installer KVM på centos 8

Opprette en Centos 8 kVm virtuell maskin

Denne delen viser deg hvordan du oppretter en Centos 8 kVm virtuell maskin for å teste SSH -tilkobling.

Last ned først Centos 8 ISO installasjonsbilde. For å holde alle de virtuelle maskinfilene/dataene organisert, er det en god idé å lagre ISO -bildet i /kVm/iso/ katalog.

Naviger til /kVm/iso/ Katalog med følgende kommando:

$ CD /KVM /ISO

Du kan finne lenken til Centos 8 ISO -installasjonsbildet på det offisielle ISO -nettstedet til Centos.

Når siden har lastet inn, klikker du på ditt nærmeste Centos 8 -speil.

Alle tilgjengelige Centos 8 ISO -installasjonsbilder skal være oppført.

Jeg vil laste ned Netboot ISO -installasjonsbildet av Centos 8 for denne artikkelen. For å installere CentOS 8 på en Virtuell KVM -maskin ved hjelp av Netboot ISO -installasjonsbilde, krever den virtuelle maskinen internettforbindelse.

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 installasjonsbilde ved hjelp av WGET, følgende:

$ sudo wget http: // speil.Dhakacom.com/centos/
8.2.2004/isos/x86_64/centos-8.2.2004-x86_64-boot.ISO

WGET bør begynne å laste ned Centos 8 ISO -bildet. Det vil ta en stund å 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å skjermdumpen nedenfor.

$ ls -lh

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

$ sudo virt-install-name 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-boot.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) av VM vil være 2048 MB eller 2 GB.

Den virtuelle disken til VM vil bli lagret 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) Remote Desktop Protocol, og VNC -serveren lytter på alle tilgjengelige nettverksgrensesnitt som er konfigurert på KVM -verten din.

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

Bruk full virtualisering for den virtuelle maskinen. Dette vil få virtuelle maskiner til å fungere bedre.

Bruk Centos 8 ISO -bildet som tidligere er lastet ned som den virtuelle CD/DVD -romen til den virtuelle maskinen. Dette brukes til å installere centos 8 på den virtuelle maskinen.

Angir oppstartsordren til den virtuelle maskinen. Den første oppstartsoppføringen er den virtuelle CD/DVD -ROM -en, og deretter den virtuelle harddisken. Så den virtuelle maskinen vil kunne starte opp 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 virtinstaller Kommando, KVM bør begynne å lage den virtuelle maskinen. Dette kan ta en stund, avhengig av din virtuelle maskinkonfigurasjon.

På dette tidspunktet bør 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å den. For å koble til den virtuelle maskinen via VNC, må du kjenne 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, VNC -portnummeret til Centos8-01 Virtuell maskin er 1.

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

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

$ sudo netstat -tln

Hvis KVM -verten din kjører CentOS 8 -operativsystemet, kan du tillate tilgang til port 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 din kjører Ubuntu 20.04 LTS -operativsystem, du kan tillate tilgang til port 5901 med følgende kommando:

$ sudo ufw tillater 5901/tcp

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

$ sudo ufw omlasting

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

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

Hjemnettverket mitt bruker nettverksunderlaget 192.168.20.0/24. Så IP -adressen til min KVM -vert er 192.168.20.131. De andre IP -adressene er private nettverksbroer av KVM -verten.

Åpne ethvert VNC -klientprogram og koble til adressen 192.168.20.131: 1.

Du bør se Centos 8 -installasjonsvinduet, som vist på skjermdumpen nedenfor. Du kan installere CentOS 8 på den virtuelle KVM -maskinen som du normalt ville gjort.

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

Centos 8 blir installert i KVM Virtual Machine 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.

KVM Virtual Machine Centos8-01 skal slås av automatisk, som du kan se på skjermdumpen 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 KVM Virtual Machine.

Installere SSH -serveren på Centos 8 Virtual Machine

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

Installer OpenSSH -serveren på CentOS 8 KVM Virtual Machine med følgende kommando:

$ sudo dnf install openssh -server -y

OpenSSH -serveren skal nå installeres. I mitt tilfelle er det allerede installert.

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

$ sudo systemctl status sshd

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

$ sudo systemctl start sshd

Hvis sshd Tjenesten er deaktivert, du kan 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 deg til den virtuelle maskinen via SSH, selv om alle konfigurasjonene er i orden.

For å gi SSH -tilgang til den virtuelle KVM -maskinen Centos8-01, Kjør følgende kommando:

$ sudo brannmur-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 nettverk de virtuelle maskinene. IP -adresse -undernettet til KVM Private Network Bridge misligholde er ikke tilgjengelig fra et hjemmenettverk. Det er bare tilgjengelig fra en KVM -vert. Så til SSH inn i CentOS 8 KVM Virtual Machine fra en annen datamaskin (i hjemmenettverket), må du omgå tilkoblingen gjennom en KVM -vert. Dette kalles SSH -tunneling og fungerer som en VPN.

For SSH -tunneling for å fungere, må KVM -verten din 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 install openssh -server -y

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

$ sudo apt install openssh -server -y

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

$ sudo systemctl status sshd

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

$ sudo systemctl start sshd

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

$ sudo SystemCTL Aktiver SSHD

Det kan hende du må konfigurere brannmuren til din KVM -vert for å gi SSH -tilgang til den.

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

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

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

$ sudo Firewall-CMD-Reload

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

$ sudo ufw tillater ssh

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

$ sudo ufw omlasting

Din centos 8 kVm virtuell maskin Centos8-01 kan bli 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 Virtual Machine med en VNC -klient og kjør følgende kommando på den virtuelle maskinen for å finne sin private IP -adresse:

$ hostname -i

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

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

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

I mitt tilfelle er IP -adressen 192.168.20.131. Jeg vet dette fordi hjemmenettverket mitt bruker undernettet 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 [email protected]

Her, The -L Alternativet brukes til å fortelle SSH om å utføre lokal port videresending.

Dette vil videresende alle forespørslene fra lokal vert havn 2200 til port 22 av Centos 8 KVM virtuell maskin, som har den private IP -adressen 192.168.122.89.

Siden datamaskinen ikke har direkte tilgang til nettverkets undernett av Centos 8 KVM Virtual Machine 192.168.122.0/24, Det tunneler forespørselen gjennom KVM -verten, som har direkte tilgang til det nettverksundernettet.

Her, 192.168.20.131 er IP -adressen til KVM -verten og Shovon er SSH -påloggingsbrukernavnet til KVM -verten.

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

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

Du skal nå være koblet til KVM -verten via SSH.

Nå kan du ssh inn i CentOS 8 kVm virtuell maskin på lokal vert havn 2200 følgende:

$ ssh shovon@localhost -p 2200

Her, Shovon er påloggingsbrukernavnet til Centos 8 kVm virtuell maskin.

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

Skriv inn passordet til påloggingsbrukeren til CentOS 8 KVM Virtual Machine og trykk .

Du skal nå være koblet til Centos 8 KVM virtuell maskin som kjører på din KVM -vert via SSH, som du kan se på skjermdumpen nedenfor.

Du kan også kjøre hvilken kommando du vil ha her.

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

Hvis du vil ha full tilgang til CentOS 8 KVM Virtual Machine, kan du konfigurere en offentlig KVM -nettverksbro. En offentlig KVM -nettverksbro fungerer som en nettverksbryter. Din CentOS 8 KVM Virtual Machine vil få en IP -adresse fra samme DHCP -server som hjemmenettverket ditt, og i samme nettverk, undernett som ditt hjemnettverk. Så det vil være tilgjengelig fra alle enheter som er koblet til hjemmenettverket ditt.

Jeg har allerede opprettet en KVM offentlig nettverksbro offentlig og konfigurerte min centos 8 kVm virtuelle maskin for å bruke broen. Jeg forklarer prosessen med å lage KVM Public Network Bridge i artikkelen min Hvordan lage et centos 8 kVm nettverksgrensesnitt. Sørg for å sjekke det ut.

Når du har opprettet en KVM offentlig nettverksbro, må du konfigurere CentOS 8 Virtual Machine for å bruke broen. Før du konfigurerer CentOS 8 Virtual Machine Centos8-01, Sjekk om Centos 8 KVM virtuell maskin kjører med følgende kommando:

$ sudo virsh -liste -all

Som du kan se, Centos 8 KVM Virtual Machine Centos8-01 løper. Vi bør stoppe det før vi konfigurerer det.

Du kan slå av CentOS 8 KVM Virtual Machine 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 Centos 8 KVM virtuell maskin misligholde Privat nettverksbro. Jeg vil konfigurere den til å bruke offentlig nettverksbro har allerede opprettet.

$ sudo virsh nettliste-all

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

$ sudo virsh edit centos8-01

Finn grensesnitt seksjon, som merket i skjermbildet nedenfor. Endre kilde nettverk fra misligholde til offentlig.

MERK: Konfigurasjonsfilen åpnes med Vi -tekstredigereren som standard. For å redigere konfigurasjonsfilen i VI, trykk Jeg å gå til SETT INN modus. For å lagre konfigurasjonsfilen, trykk , Skriv inn : WQ!, Og trykk deretter .

Den virtuelle maskinkonfigurasjonen skal nå endres.

Start Centos 8 KVM Virtual Machine med følgende kommando:

$ sudo virsh start centos8-01

Koble nå til Centos 8 KVM Virtual Machine ved hjelp av en VNC -klient. Sjekk IP -adressen til den virtuelle maskinen med følgende kommando:

$ hostname -i

Som du ser er IP -adressen 192.168.20.133. Denne IP -adressen ble levert av DHCP -serveren til hjemmenettverket mitt. Dette er en IP -adresse til nettverksunderlaget 192.168.20.0/24, som er undernettet 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 [email protected]

Her, Shovon er påloggingsbrukernavnet til Centos 8 kVm virtuell maskin.

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

Skriv inn passordet til påloggingsbrukeren til CentOS 8 KVM Virtual Machine og trykk .

Du skal nå være koblet til Centos 8 KVM virtuell maskin som kjører på din KVM -vert via SSH, som du kan se på skjermdumpen nedenfor.

Du kan også kjøre hvilken kommando du vil ha her.

Konklusjon

Denne artikkelen viste deg hvordan du oppretter en KVM Centos 8 Virtual Machine og kobler til den virtuelle maskinen via SSH. Når Centos 8 KVM virtuell maskin ikke er tilgjengelig fra hjemmenettverket (den bruker en privat nettverksbro), må du bruke SSH -tunneling for å koble til KVM Virtual Machine 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 din virtuelle KVM -maskin være tilgjengelig fra hele hjemmenettverket.