KVM

SSH z maszyny lokalnej do wirtualnej przez KVM i CentOS 8 Guest

SSH z maszyny lokalnej do wirtualnej przez KVM i CentOS 8 Guest
Domyślnie maszyny wirtualne KVM korzystają z prywatnych sieci NAT, które są dostępne tylko z hosta KVM. Nie możesz więc uzyskać dostępu do maszyn wirtualnych KVM z sieci domowej. Aby SSH do maszyn wirtualnych uruchomionych na hoście KVM, można to zrobić na dwa sposoby: tunelowanie SSH i konfigurowanie publicznego mostu sieciowego KVM. W tym artykule pokazano, jak SSH do maszyny wirtualnej KVM CentOS 8 z sieci domowej za pomocą tunelowania SSH i korzystania z publicznego mostu sieciowego KVM.

Warunki wstępne

Aby wypróbować przykłady z tego artykułu, musisz mieć zainstalowany KVM na swoim komputerze. Jeśli nie masz zainstalowanego KVM na swoim komputerze, możesz przeczytać następujące artykuły na LinuxHint.com, aby uzyskać pomoc dotyczącą instalacji KVM w wybranej dystrybucji Linuksa.

- Zainstaluj KVM na Ubuntu 20.04

- Zainstaluj KVM na CentOS 8

Tworzenie wirtualnej maszyny CentOS 8 KVM

W tej sekcji pokazano, jak utworzyć maszynę wirtualną CentOS 8 KVM do testowania łączności SSH.

Najpierw pobierz obraz instalacyjny CentOS 8 ISO. Aby zachować porządek we wszystkich plikach/danych maszyn wirtualnych, dobrym pomysłem jest przechowywanie obrazu ISO w /kvm/izo/ informator.

Przejdź do to /kvm/izo/ katalog za pomocą następującego polecenia:

$ cd /kvm/iso

Link do obrazu instalacyjnego CentOS 8 ISO można znaleźć na oficjalnej stronie ISO CentOS.

Po załadowaniu strony kliknij najbliższe lustro CentOS 8.

Wszystkie dostępne obrazy instalacyjne CentOS 8 ISO powinny być wymienione.

Pobiorę obraz instalacyjny NetBoot ISO CentOS 8 do tego artykułu. Aby zainstalować CentOS 8 na maszynie wirtualnej KVM przy użyciu obrazu instalacyjnego NetBoot ISO, maszyna wirtualna wymaga połączenia z Internetem.

Jeśli nie chcesz konfigurować sieci podczas instalowania CentOS 8 na maszynie wirtualnej, wybierz minimalny albo płyta DVD Obraz instalacyjny ISO CentOS 8.

Kliknij prawym przyciskiem myszy (PPM) plik ISO, aby pobrać i skopiować łącze do pliku ISO.

Pobierz obraz instalacyjny CentOS 8 ISO za pomocą wget, następująco:

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

wget powinien rozpocząć pobieranie obrazu ISO CentOS 8. To zajmie trochę czasu.

W tym momencie należy pobrać obraz ISO CentOS 8.

Obraz ISO CentOS 8 jest dostępny w /kvm/izo/ katalog, jak widać na poniższym zrzucie ekranu.

$ ls -lh

Po pobraniu obrazu ISO CentOS utwórz maszynę wirtualną KVM za pomocą następującego polecenia:

$ sudo virt-install --name centos8-01 \
--Linux typu os \
--os-wariant centos8 \
--baran 2048 \
--dysk /kvm/dysk/centos8-01.img,device=disk,bus=virtio,size=10,format=qcow2 \
--grafika vnc, nasłuch=0.0.0.0 \
--brak automatycznej konsoli \
--hvm \
--cdrom /kvm/iso/CentOS-8.2.2004-x86_64-boot.iso \
--CD-ROM rozruchowy, hd

Nazwa maszyny wirtualnej będzie centos8-01.

Typ systemu operacyjnego to linux a wariant to centos8.

Pamięć RAM (Random Access Memory) maszyny wirtualnej będzie wynosić 2048 MB lub 2 GB.

Wirtualny dysk maszyny wirtualnej zostanie zapisany w /kvm/dysk/centos8-01.obrazek plik. Dysk wirtualny dotyczy 10 GB w rozmiarze i formacie QCOW2 (QEMU Kopiowanie przy zapisie v2).

Maszyna wirtualna będzie dostępna za pośrednictwem protokołu zdalnego pulpitu VNC (Virtual Network Computing), a serwer VNC będzie nasłuchiwał na wszystkich dostępnych interfejsach sieciowych skonfigurowanych na hoście KVM.

Host KVM nie będzie automatycznie próbował połączyć się z maszyną wirtualną po utworzeniu maszyny wirtualnej. Maszyna wirtualna będzie nadal działać w tle.

Użyj pełnej wirtualizacji dla maszyny wirtualnej. Dzięki temu maszyny wirtualne będą działać lepiej.

Użyj obrazu ISO CentOS 8 pobranego wcześniej jako wirtualna płyta CD/DVD ROM maszyny wirtualnej. Służy do instalowania CentOS 8 na maszynie wirtualnej.

Ustawia kolejność rozruchu maszyny wirtualnej. Pierwszy wpis rozruchowy to wirtualny dysk CD/DVD ROM, a następnie wirtualny dysk twardy. Tak więc maszyna wirtualna będzie mogła uruchomić się z obrazu ISO CentOS 8 i zainstalować CentOS 8 na dysku twardym.

To wszystkie opcje potrzebne do utworzenia maszyny wirtualnej KVM.

Po uruchomieniu wirtualna instalacja polecenie, KVM powinien rozpocząć tworzenie maszyny wirtualnej. Może to chwilę potrwać, w zależności od konfiguracji maszyny wirtualnej.

W tym momencie powinna zostać utworzona maszyna wirtualna KVM.

Jak widać, nowo utworzona maszyna wirtualna centos8-01 biegnie.

Teraz możesz połączyć się z maszyną wirtualną za pomocą dowolnego programu klienckiego VNC i zainstalować na nim CentOS 8. Aby połączyć się z maszyną wirtualną przez VNC, musisz znać numer portu VNC maszyny wirtualnej.

Aby znaleźć numer portu VNC maszyny wirtualnej KVM centos8-01, uruchom następujące polecenie:

$ virsh vncdisplay centos8-01

Jak widać, numer portu VNC centos8-01 maszyna wirtualna jest 1.

Tutaj port 0 oznacza port 5900. W ten sam sposób port 1 oznacza port 5901, i tak dalej.

Jak widać, maszyna wirtualna KVM centos8-01 działa na porcie 5901 (:1).

$ sudo netstat -tln

Jeśli na Twoim hoście KVM działa system operacyjny CentOS 8, możesz zezwolić na dostęp do portu 5901 za pomocą następującego polecenia:

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

Aby zmiany zapory zaczęły obowiązywać, uruchom następujące polecenie:

$ sudo firewall-cmd --reload

Jeśli twój host KVM działa na Ubuntu 20.04 System operacyjny LTS, możesz zezwolić na dostęp do portu 5901 za pomocą następującego polecenia:

$ sudo ufw zezwól na 5901/tcp

Aby zmiany zapory zaczęły obowiązywać, uruchom następujące polecenie:

$ sudo ufw przeładuj

Znajdź adres IP hosta KVM za pomocą następującego polecenia:

$ nazwa hosta -I | tr " " "\n"

Moja sieć domowa korzysta z podsieci 192.168.20.0/24. Tak więc adres IP mojego hosta KVM to 192.168.20.131. Pozostałe adresy IP to prywatne mosty sieciowe hosta KVM.

Otwórz dowolny program klienta VNC i połącz się z adresem 192.168.20.131:1.

Powinieneś zobaczyć okno instalacji CentOS 8, jak pokazano na poniższym zrzucie ekranu. Możesz zainstalować CentOS 8 na maszynie wirtualnej KVM tak jak zwykle.

Instaluję minimalną serwerową wersję CentOS 8 do demonstracji w tym artykule.

CentOS 8 jest instalowany na maszynie wirtualnej KVM centos8-01, jak widać na poniższym zrzucie ekranu. Może to trochę potrwać.

Po zainstalowaniu CentOS 8 na maszynie wirtualnej kliknij Restart.

Maszyna wirtualna KVM centos8-01 powinien być wyłączony automatycznie, jak widać na poniższym zrzucie ekranu.

$ sudo virsh lista --all

Zacząć centos8-01 Maszyna wirtualna KVM z następującym poleceniem:

$ virsh start centos8-01

Teraz możesz połączyć się z centos8-01 maszyna wirtualna z klienta VNC, jak poprzednio. Jak widać, minimalny serwer CentOS 8 działa dobrze na wirtualnej maszynie KVM.

Instalowanie serwera SSH na wirtualnej maszynie CentOS 8

Głównym celem tego artykułu jest połączenie się z wirtualną maszyną CentOS 8 KVM przez SSH. Musisz mieć zainstalowany serwer SSH na swojej wirtualnej maszynie CentOS 8 KVM, aby móc połączyć się z nim przez SSH.

Zainstaluj serwer OpenSSH na maszynie wirtualnej CentOS 8 KVM za pomocą następującego polecenia:

$ sudo dnf zainstaluj openssh-server -y

Serwer OpenSSH powinien być teraz zainstalowany. W moim przypadku jest już zainstalowany.

Potwierdź, że sshd usługa jest bieganie i włączone za pomocą następującego polecenia:

$ sudo systemctl status sshd

Jeśli sshd usługa nie działa, możesz ją uruchomić za pomocą następującego polecenia:

$ sudo systemctl start sshd

Jeśli sshd usługa jest wyłączona, możesz ją włączyć za pomocą następującego polecenia:

$ sudo systemctl włącz sshd

Konfiguracja zapory wirtualnej maszyny CentOS 8

Musisz skonfigurować zaporę maszyny wirtualnej, aby umożliwić dostęp do portu SSH. W przeciwnym razie nie będziesz mógł połączyć się z maszyną wirtualną przez SSH, nawet jeśli wszystkie konfiguracje są w porządku.

Aby zezwolić na dostęp SSH do maszyny wirtualnej KVM centos8-01, uruchom następujące polecenie:

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

Aby zmiany zapory zaczęły obowiązywać, uruchom następujące polecenie:

$ sudo firewall-cmd --reload

Metoda 1: Dostęp do maszyn wirtualnych przez tunelowanie SSH

Domyślnie KVM używa mostka sieci prywatnej domyślna do sieci maszyn wirtualnych. Podsieć adresu IP mostka sieci prywatnej KVM domyślna nie jest dostępny z sieci domowej. Jest dostępny tylko z hosta KVM. Tak więc, aby SSH do maszyny wirtualnej CentOS 8 KVM z innego komputera (w sieci domowej), musisz ominąć połączenie przez hosta KVM. Nazywa się to tunelowaniem SSH i działa podobnie do VPN.

Aby tunelowanie SSH działało, Twój host KVM musi mieć zainstalowany serwer SSH i musisz mieć dostęp SSH do hosta KVM.

Jeśli na hoście KVM działa CentOS 8, możesz zainstalować serwer OpenSSH na hoście KVM za pomocą następującego polecenia:

$ sudo dnf zainstaluj openssh-server -y

Jeśli twój host KVM działa na Ubuntu 20.04 LTS, możesz zainstalować serwer OpenSSH na hoście KVM za pomocą następującego polecenia:

$ sudo apt install openssh-server -y

Potwierdź, że sshd usługa jest bieganie i włączone za pomocą następującego polecenia:

$ sudo systemctl status sshd

Jeśli sshd usługa nie działa, możesz ją uruchomić za pomocą następującego polecenia:

$ sudo systemctl start sshd

Jeśli sshd usługa jest wyłączona, możesz ją włączyć za pomocą następującego polecenia:

$ sudo systemctl włącz sshd

Być może będziesz musiał skonfigurować zaporę sieciową hosta KVM, aby umożliwić dostęp do niego przez SSH.

Jeśli host KVM używa systemu operacyjnego CentOS 8, uruchom następujące polecenie, aby skonfigurować zaporę:

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

Aby zmiany odniosły skutek, uruchom następujące polecenie:

$ sudo firewall-cmd --reload

Jeśli twój host KVM używa Ubuntu 20.04 System operacyjny LTS, uruchom następujące polecenie, aby skonfigurować zaporę:

$ sudo ufw zezwól na ssh

Aby zmiany odniosły skutek, uruchom następujące polecenie:

$ sudo ufw przeładuj

Twoja maszyna wirtualna CentOS 8 KVM centos8-01 może być wyłączony.

$ sudo virsh lista --all

W takim przypadku możesz uruchomić maszynę wirtualną za pomocą następującego polecenia:

$ sudo virsh start centos8-01

Połącz się z maszyną wirtualną CentOS 8 za pomocą klienta VNC i uruchom następujące polecenie na maszynie wirtualnej, aby znaleźć jej prywatny adres IP:

$ nazwa hosta -I

W moim przypadku prywatny adres IP mojej wirtualnej maszyny CentOS 8 KVM to 192.168.122.89. To może być dla Ciebie inne.

Znajdź adres IP hosta KVM za pomocą następującego polecenia:

$ nazwa hosta -I | tr " " "\n"

W moim przypadku adres IP to 192.168.20.131. Wiem o tym, ponieważ moja sieć domowa korzysta z podsieci 192.168.20.0/24.

Aby utworzyć tunel do maszyny wirtualnej CentOS 8 KVM za pośrednictwem hosta KVM, uruchom następujące polecenie z komputera:

$ ssh -L 2200:192.168.122.89:22 [email protected]

Tutaj -L opcja jest używana, aby powiedzieć SSH, aby wykonał lokalne przekierowanie portów.

Spowoduje to przekazanie wszystkich żądań pochodzących z Lokalny Gospodarz Port 2200 do portu 22 maszyny wirtualnej CentOS 8 KVM, która posiada prywatny adres IP 192.168.122.89.

Ponieważ komputer nie ma bezpośredniego dostępu do podsieci sieciowej maszyny wirtualnej CentOS 8 KVM 192.168.122.0/24, tuneluje żądanie przez hosta KVM, który ma bezpośredni dostęp do tej podsieci.

Tutaj, 192.168.20.131 to adres IP hosta KVM i shovon to nazwa użytkownika logowania SSH hosta KVM.

Po uruchomieniu polecenia możesz zostać poproszony o następujące pytanie. Rodzaj tak i naciśnij .

Wpisz hasło logowania użytkownika hosta KVM i naciśnij .

Powinieneś teraz być połączony z hostem KVM przez SSH.

Teraz możesz SSH do maszyny wirtualnej CentOS 8 KVM na on Lokalny Gospodarz Port 2200 następująco:

$ ssh shovon@localhost -p 2200

Tutaj, shovon to nazwa użytkownika maszyny wirtualnej CentOS 8 KVM.

Po uruchomieniu polecenia możesz zostać poproszony o następujące pytanie. Rodzaj tak i naciśnij .

Wpisz hasło logowania użytkownika maszyny wirtualnej CentOS 8 KVM i naciśnij .

Powinieneś teraz być połączony z maszyną wirtualną CentOS 8 KVM uruchomioną na hoście KVM przez SSH, jak widać na zrzucie ekranu poniżej.

Tutaj możesz również uruchomić dowolne polecenie.

Metoda 2: Dostęp do maszyn wirtualnych przez most sieci publicznej KVM

Jeśli chcesz mieć pełny dostęp do maszyny wirtualnej CentOS 8 KVM, możesz skonfigurować publiczny most sieciowy KVM. Publiczny most sieciowy KVM działa jak przełącznik sieciowy. Twoja maszyna wirtualna CentOS 8 KVM otrzyma adres IP z tego samego serwera DHCP, co Twoja sieć domowa oraz, w tej samej sieci, podsieci, co Twoja sieć domowa. Będzie więc dostępny z każdego urządzenia podłączonego do Twojej sieci domowej.

Utworzyłem już most sieci publicznej KVM publiczny i skonfigurowałem moją maszynę wirtualną CentOS 8 KVM do korzystania z mostka. W moim artykule wyjaśniam proces tworzenia mostu sieci publicznej KVM Jak utworzyć interfejs mostka sieciowego CentOS 8 KVM?. Koniecznie to sprawdź.

Po utworzeniu mostu sieci publicznej KVM należy skonfigurować maszynę wirtualną CentOS 8 do korzystania z mostu. Przed konfiguracją maszyny wirtualnej CentOS 8 centos8-01, sprawdź, czy maszyna wirtualna CentOS 8 KVM jest uruchomiona za pomocą następującego polecenia:

$ lista sudo virsh -wszystkie

Jak widać, maszyna wirtualna CentOS 8 KVM centos8-01 biegnie. Powinniśmy to zatrzymać przed konfiguracją.

Możesz wyłączyć maszynę wirtualną CentOS 8 KVM centos8-01 za pomocą następującego polecenia:

$ sudo virsh wyłączanie centos8-01

Jak widać, maszyna wirtualna CentOS 8 KVM jest wyłączona.

$ sudo virsh lista --all

Domyślnie maszyna wirtualna CentOS 8 KVM używa domyślna prywatny most sieciowy. Skonfiguruję go tak, aby używał publiczny most sieciowy, który już stworzyłem.

$ sudo virsh net-list --all

Aby edytować konfigurację maszyny wirtualnej CentOS 8 KVM, uruchom następujące polecenie:

$ sudo virsh edytuj centos8-01

Znaleźć berło sekcja, jak zaznaczono na zrzucie ekranu poniżej. Zmienić źródło sieć z domyślna do publiczny.

UWAGA: Plik konfiguracyjny otwiera się domyślnie w edytorze tekstu Vi. Aby edytować plik konfiguracyjny w Vi, naciśnij ja iść do WSTAWIĆ tryb. Aby zapisać plik konfiguracyjny, naciśnij , Wpisz :wq!, a następnie naciśnij .

Konfiguracja maszyny wirtualnej powinna zostać zmieniona.

Uruchom maszynę wirtualną CentOS 8 KVM za pomocą następującego polecenia:

$ sudo virsh start centos8-01

Teraz połącz się z maszyną wirtualną CentOS 8 KVM za pomocą klienta VNC. Sprawdź adres IP maszyny wirtualnej za pomocą następującego polecenia:

$ nazwa hosta -I

Jak widać, adres IP to 192.168.20.133. Ten adres IP został dostarczony przez serwer DHCP mojej sieci domowej. To jest adres IP podsieci sieci 192.168.20.0/24, która jest podsiecią mojej sieci domowej.

Teraz możesz połączyć się z maszyną wirtualną CentOS 8 KVM z dowolnego komputera podłączonego do sieci domowej w następujący sposób:

$ ssh [email protected]

Tutaj, shovon to nazwa użytkownika maszyny wirtualnej CentOS 8 KVM.

Po uruchomieniu polecenia możesz zostać poproszony o następujące pytanie. Rodzaj tak i naciśnij .

Wpisz hasło logowania użytkownika maszyny wirtualnej CentOS 8 KVM i naciśnij .

Powinieneś teraz być połączony z maszyną wirtualną CentOS 8 KVM uruchomioną na hoście KVM przez SSH, jak widać na zrzucie ekranu poniżej.

Tutaj możesz również uruchomić dowolne polecenie.

Wniosek

W tym artykule pokazano, jak utworzyć maszynę wirtualną KVM CentOS 8 i połączyć się z maszyną wirtualną przez SSH. Gdy maszyna wirtualna CentOS 8 KVM nie jest dostępna z sieci domowej (korzysta z mostu sieci prywatnej), należy użyć tunelowania SSH, aby połączyć się z maszyną wirtualną KVM za pomocą SSH. Jeśli chcesz mieć pełny dostęp do maszyny wirtualnej CentOS 8 KVM, możesz skonfigurować most sieci publicznej i skonfigurować maszynę wirtualną do korzystania z mostu. W ten sposób maszyna wirtualna KVM może być dostępna z całej sieci domowej.

How to reverse Mouse and Touchpads scrolling direction in Windows 10
Mouse and Touchpads not only make computing easy but more efficient and less time-consuming. We cannot imagine a life without these devices, but still...
How to change Mouse pointer and cursor size, color & scheme on Windows 10
The mouse pointer and cursor in Windows 10 are very important aspects of the operating system. This can be said for other operating systems as well, s...
Gry Darmowe i otwarte silniki gier do tworzenia gier na Linuksa
Darmowe i otwarte silniki gier do tworzenia gier na Linuksa
Ten artykuł zawiera listę darmowych i otwartych silników gier, których można używać do tworzenia gier 2D i 3D w systemie Linux. Istnieje wiele takich ...