Requisitos previos
Para probar los ejemplos en este artículo, debe tener KVM instalado en su computadora. Si no tiene KVM instalado en su computadora, puede leer los siguientes artículos en Linuxhint.com para recibir ayuda en la instalación de KVM en la distribución de Linux deseada.
- Instale KVM en Ubuntu 20.04
- Instale KVM en CentOS 8
Creación de una máquina virtual CentOS 8 KVM
Esta sección le muestra cómo crear una máquina virtual CentOS de 8 KVM para probar la conectividad SSH.
Primero, descargue la imagen de instalación de CentOS 8 ISO. Para mantener organizados todos los archivos/datos de la máquina virtual, es una buena idea almacenar la imagen ISO en el /KVM/ISO/ directorio.
Navegar al /KVM/ISO/ directorio con el siguiente comando:
$ CD /KVM /ISO
Puede encontrar el enlace a la imagen de instalación ISO de CentOS 8 en el sitio web oficial de ISO de Centos.
Una vez que se carga la página, haga clic en su espejo Centos 8 más cercano.
Todas las imágenes disponibles de instalación de CentOS 8 ISO deben aparecer.
Descargaré la imagen de instalación de NetBoot ISO de CentOS 8 para este artículo. Para instalar CentOS 8 en una máquina virtual KVM utilizando la imagen de instalación de NetBoot ISO, la máquina virtual requiere conectividad a Internet.
Si no desea configurar la red al instalar CentOS 8 en la máquina virtual, seleccione la mínimo o el DVD Imagen de instalación de ISO de Centos 8.
Haga clic con el botón derecho (RMB) en el archivo ISO para descargar y copiar el enlace del archivo ISO.
Descargue la imagen de instalación de Centos 8 ISO usando wget, como sigue:
$ sudo wget http: // espejo.dhakacom.com/centos/
8.2.2004/isos/x86_64/centos-8.2.2004-x86_64-boot.Yo asi
wget debe comenzar a descargar la imagen ISO de Centos 8. Tomará un tiempo completar.
En este punto, se debe descargar la imagen ISO de Centos 8.
La imagen ISO Centos 8 está disponible en el /KVM/ISO/ Directorio, como puede ver en la captura de pantalla a continuación.
$ ls -lh
Una vez que se descarga la imagen CentOS ISO, cree una máquina virtual KVM con el siguiente comando:
$ sudo virt-install --name CentOS8-01 \
--OS-Type Linux \
--OS-Variante CentOS8 \
--RAM 2048 \
--disco/kvm/disco/centos8-01.img, dispositivo = disk, bus = virtio, size = 10, format = QCow2 \
--gráficos vnc, escuchar = 0.0.0.0 \
--noautoconsole \
--HVM \
--CDROM/KVM/ISO/CENTOS-8.2.2004-x86_64-boot.Yo asi \
--Boot Cdrom, HD
El nombre de la máquina virtual será CENTOS8-01.
El tipo de sistema operativo es Linux y la variante es Centos8.
La RAM (memoria de acceso aleatorio) de la VM será de 2048 MB o 2 GB.
El disco virtual de la VM se guardará en el /kvm/disco/centos8-01.img archivo. El disco virtual se trata 10 GB de tamaño y el formato es QCOW2 (QEMU Copy-on-write v2).
Se puede acceder a la máquina virtual a través del protocolo de escritorio remoto VNC (Virtual Network Computing), y el servidor VNC escuchará en todas las interfaces de red disponibles configuradas en su host KVM.
El host KVM no intentará conectarse automáticamente a la máquina virtual una vez que se cree la máquina virtual. La máquina virtual seguirá funcionando en segundo plano.
Use la virtualización completa para la máquina virtual. Esto hará que las máquinas virtuales funcionen mejor.
Use la imagen ISO CentOS 8 anteriormente descargada como la ROM virtual de CD/DVD de la máquina virtual. Esto se utiliza para instalar CentOS 8 en la máquina virtual.
Establece el orden de arranque de la máquina virtual. La primera entrada de arranque es la ROM Virtual CD/DVD, y luego el disco duro virtual. Por lo tanto, la máquina virtual podrá arrancar desde la imagen ISO Centos 8 e instalar CentOS 8 en el disco duro.
Esas son todas las opciones que necesita para crear una máquina virtual KVM.
Una vez que corres el Virt-Install Comando, KVM debe comenzar a crear la máquina virtual. Esto puede llevar un tiempo, dependiendo de la configuración de su máquina virtual.
En este punto, se debe crear la máquina virtual KVM.
Como puede ver, la máquina virtual recién creada CENTOS8-01 Esta corriendo.
Ahora, puede conectarse a la máquina virtual utilizando cualquier programa de cliente VNC e instalar CentOS 8 en ella. Para conectarse a la máquina virtual a través de VNC, debe conocer el número de puerto VNC de la máquina virtual.
Para encontrar el número de puerto VNC de la máquina virtual KVM CENTOS8-01, Ejecute el siguiente comando:
$ Virsh VNCDisplay CentOS8-01
Como puede ver, el número de puerto VNC del CENTOS8-01 la máquina virtual es 1.
Aquí, puerto 0 Puerto de medios 5900. De la misma manera, puerto 1 Puerto de medios 5901, etcétera.
Como puede ver, la máquina virtual KVM CENTOS8-01 se ejecuta en el puerto 5901 (: 1).
$ sudo netstat -tln
Si su host KVM ejecuta el sistema operativo CentOS 8, puede permitir el acceso al puerto 5901 Con el siguiente comando:
$ sudo firewall-cmd --add-puer = 5901/tcp --permanent
Para que los cambios en el firewall entren en vigencia, ejecute el siguiente comando:
$ sudo firewall-cmd--Reload
Si su host KVM está ejecutando el Ubuntu 20.04 Sistema operativo LTS, puede permitir el acceso al puerto 5901 Con el siguiente comando:
$ sudo UFW Permitir 5901/TCP
Para que los cambios en el firewall entren en vigencia, ejecute el siguiente comando:
$ sudo ufw recargar
Encuentre la dirección IP de su host KVM con el siguiente comando:
$ hostname -i | tr "" "\ n"
Mi red doméstica está utilizando la subred de red 192.168.20.24/04. Entonces, la dirección IP de mi host KVM es 192.168.20.131. Las otras direcciones IP son puentes de red privados del host KVM.
Abra cualquier programa de cliente VNC y conecte a la dirección 192.168.20.131: 1.
Debería ver la ventana de instalación de CentOS 8, como se muestra en la captura de pantalla a continuación. Puede instalar CentOS 8 en la máquina virtual KVM como lo haría normalmente.
Estoy instalando la versión mínima del servidor de CentOS 8 para la demostración en este artículo.
Se está instalando CentOS 8 en la máquina virtual KVM CENTOS8-01, Como puede ver en la captura de pantalla a continuación. Esto puede tardar un tiempo en completarse.
Una vez que se instala CentOS 8 en la máquina virtual, haga clic en Reiniciar.
La máquina virtual KVM CENTOS8-01 debe encenderse automáticamente, como puede ver en la captura de pantalla a continuación.
$ sudo Virsh List -Todo
Iniciar el CENTOS8-01 Máquina virtual KVM con el siguiente comando:
$ Virsh Start CentOS8-01
Ahora puede conectarse al CENTOS8-01 máquina virtual desde un cliente VNC, como antes. Como puede ver, el servidor mínimo de CentOS 8 se ejecuta bien en la máquina virtual KVM.
Instalación del servidor SSH en la máquina virtual CentOS 8
El objetivo principal de este artículo es conectarse a una máquina virtual CentOS de 8 KVM a través de SSH. Debe tener un servidor SSH instalado en su máquina virtual CentOS de 8 KVM para poder conectarse a él a través de SSH.
Instale el servidor OpenSSH en su máquina virtual CentOS 8 KVM con el siguiente comando:
$ sudo DNF Install OpenSSH -Server -y
El servidor OpenSSH ahora se debe instalar. En mi caso, ya está instalado.
Confirmar que el SSHD el servicio es correr y activado Con el siguiente comando:
$ sudo systemctl sshd
Si el SSHD El servicio no se está ejecutando, puede iniciarlo con el siguiente comando:
$ sudo systemctl start sshd
Si el SSHD El servicio está deshabilitado, puede habilitarlo con el siguiente comando:
$ sudo systemctl habilita sshd
Configuración del firewall de la máquina virtual CentOS 8
Debe configurar el firewall de la máquina virtual para permitir el acceso al puerto SSH. De lo contrario, no podrá conectarse a la máquina virtual a través de SSH, incluso si todas las configuraciones están bien.
Para permitir el acceso SSH a la máquina virtual KVM CENTOS8-01, Ejecute el siguiente comando:
$ sudo firewall-cmd --add-service = ssh --permanent
Para que los cambios en el firewall entren en vigencia, ejecute el siguiente comando:
$ sudo firewall-cmd--Reload
Método 1: Acceso a máquinas virtuales a través de túneles SSH
Por defecto, KVM utiliza el puente de red privado por defecto para establecer contactos las máquinas virtuales. La subred de la dirección IP del puente de red privada KVM por defecto no es accesible desde una red doméstica. Solo es accesible desde un host KVM. Entonces, para SSH en su máquina virtual CentOS de 8 KVM desde otra computadora (en su red doméstica), debe omitir la conexión a través de un host KVM. Esto se llama túnel ssh y funciona de manera similar a una VPN.
Para que el túnel SSH funcione, su host KVM debe tener un servidor SSH instalado y debe tener acceso SSH al host KVM.
Si su host KVM se ejecuta CentOS 8, puede instalar el servidor OpenSSH en su host KVM con el siguiente comando:
$ sudo DNF Install OpenSSH -Server -y
Si su host KVM está ejecutando Ubuntu 20.04 LTS, luego puede instalar el servidor OpenSSH en su host KVM con el siguiente comando:
$ sudo apt instalación openssh -server -y
Confirmar que el SSHD el servicio es correr y activado Con el siguiente comando:
$ sudo systemctl sshd
Si el SSHD El servicio no se está ejecutando, puede iniciarlo con el siguiente comando:
$ sudo systemctl start sshd
Si el SSHD El servicio está deshabilitado, puede habilitarlo con el siguiente comando:
$ sudo systemctl habilita sshd
Es posible que deba configurar el firewall de su host KVM para permitir el acceso SSH.
Si su host KVM usa el sistema operativo CentOS 8, ejecute el siguiente comando para configurar el firewall:
$ sudo firewall-cmd --add-service = ssh --permanent
Para que los cambios entren en vigencia, ejecute el siguiente comando:
$ sudo firewall-cmd--Reload
Si su host KVM usa el Ubuntu 20.04 Sistema operativo LTS, ejecute el siguiente comando para configurar el firewall:
$ sudo UFW Permitir SSH
Para que los cambios entren en vigencia, ejecute el siguiente comando:
$ sudo ufw recargar
Tu máquina virtual Centos 8 KVM CENTOS8-01 puede estar encendido.
$ sudo Virsh List -Todo
Si ese es el caso, puede iniciar la máquina virtual con el siguiente comando:
$ sudo Virsh Start CentOS8-01
Conéctese a su máquina virtual CentOS 8 con un cliente VNC y ejecute el siguiente comando en la máquina virtual para encontrar su dirección IP privada:
$ hostname -i
En mi caso, la dirección IP privada de mi máquina virtual CentOS de 8 kvm es 192.168.122.89. Esto puede ser diferente para ti.
Encuentre la dirección IP de su host KVM con el siguiente comando:
$ hostname -i | tr "" "\ n"
En mi caso, la dirección IP es 192.168.20.131. Sé esto porque mi red doméstica está usando la subred 192.168.20.24/04.
Para hacer un túnel a la máquina virtual CentOS 8 KVM a través del host KVM, ejecute el siguiente comando desde su computadora:
$ ssh -l 2200: 192.168.122.89:22 [email protected]
Aquí el -L La opción se usa para decirle al SSH que realice el reenvío de puertos locales.
Esto reenviará todas las solicitudes provenientes del hostil puerto 2200 hacia el puerto 22 de la máquina virtual CentOS 8 KVM, que tiene la dirección IP privada 192.168.122.89.
Dado que la computadora no tiene acceso directo a la subred de red de la máquina virtual CentOS 8 KVM 192.168.122.24/04, Tunela la solicitud a través del host KVM, que tiene acceso directo a esa subred de red.
Aquí, 192.168.20.131 es la dirección IP del host KVM y pala es el nombre de usuario de inicio de sesión de SSH del host KVM.
Una vez que ejecute el comando, se le puede hacer la siguiente pregunta. Tipo Sí y presionar .
Escriba la contraseña del usuario de inicio de sesión de su host KVM y presione .
Ahora debería estar conectado al host KVM a través de SSH.
Ahora, puede ssh en su máquina virtual CentOS 8 KVM en la hostil puerto 2200 como sigue:
$ ssh shovon@localhost -p 2200
Aquí, pala es el nombre de usuario de inicio de sesión de la máquina virtual CentOS 8 KVM.
Una vez que ejecute el comando, se le puede hacer la siguiente pregunta. Tipo Sí y presionar .
Escriba la contraseña del usuario de inicio de sesión de su máquina virtual CentOS 8 KVM y presione .
Ahora debe estar conectado a la máquina virtual CentOS de 8 KVM que se ejecuta en su host KVM a través de SSH, como puede ver en la captura de pantalla a continuación.
Puedes ejecutar cualquier comando que quieras aquí también.
Método 2: Acceso a máquinas virtuales a través de KVM Public Network Bridge
Si desea acceso completo a su máquina virtual CentOS 8 KVM, puede configurar un puente de red KVM público. Un puente de red público KVM actúa como un interruptor de red. Su máquina virtual CentOS de 8 KVM obtendrá una dirección IP del mismo servidor DHCP que su red doméstica y, en la misma red, subred que su red doméstica. Por lo tanto, será accesible desde todos los dispositivos conectados a su red doméstica.
Ya he creado un puente de red pública de KVM público y configuré mi máquina virtual CentOS de 8 kvm para usar el puente. Explico el proceso de crear el puente de red pública de KVM en mi artículo Cómo crear una interfaz CentOS de puente en red CentOS de 8 KVM. Asegúrate de verlo.
Una vez que haya creado un puente de red pública KVM, debe configurar su máquina virtual CentOS 8 para usar el puente. Antes de configurar su máquina virtual CentOS 8 CENTOS8-01, Compruebe si la máquina virtual CentOS de 8 KVM se está ejecutando con el siguiente comando:
$ sudo Virsh List -All
Como puede ver, la máquina virtual CentOS 8 KVM CENTOS8-01 Esta corriendo. Deberíamos detenerlo antes de configurarlo.
Puede apagar su máquina virtual CentOS de 8 kvm CENTOS8-01 Con el siguiente comando:
$ sudo Virsh CentOS8-01
Como puede ver, la máquina virtual CentOS 8 KVM está encendida.
$ sudo Virsh List -Todo
Por defecto, la máquina virtual CentOS 8 KVM usa la por defecto puente de red privado. Lo configuraré para usar el público Puente de red que ya he creado.
$ sudo virsh net-list-todo
Para editar la configuración de la máquina virtual CentOS 8 KVM, ejecute el siguiente comando:
$ sudo virsh edit CentOS8-01
Encuentra el interfaz sección, como se marca en la captura de pantalla a continuación. Cambiar el fuente hacer de por defecto a público.
NOTA: El archivo de configuración se abre con el editor de texto VI de forma predeterminada. Para editar el archivo de configuración en VI, presione i ir a INSERTAR modo. Para guardar el archivo de configuración, presione , escribir : WQ!, y luego presiona .
La configuración de la máquina virtual ahora debe cambiarse.
Inicie la máquina virtual CentOS 8 KVM con el siguiente comando:
$ sudo Virsh Start CentOS8-01
Ahora, conéctese a su máquina virtual CentOS de 8 KVM usando un cliente VNC. Verifique la dirección IP de la máquina virtual con el siguiente comando:
$ hostname -i
Como puede ver, la dirección IP es 192.168.20.133. Esta dirección IP fue suministrada por el servidor DHCP de mi red doméstica. Esta es una dirección IP de la subred de red 192.168.20.24/04, cuál es la subred de mi red doméstica.
Ahora, puede conectarse a la máquina virtual CentOS de 8 KVM desde cualquier computadora conectada a su red doméstica, de la siguiente manera:
$ ssh [email protected]
Aquí, pala es el nombre de usuario de inicio de sesión de la máquina virtual CentOS 8 KVM.
Una vez que ejecute el comando, se le puede hacer la siguiente pregunta. Tipo Sí y presionar .
Escriba la contraseña del usuario de inicio de sesión de su máquina virtual CentOS 8 KVM y presione .
Ahora debe estar conectado a la máquina virtual CentOS de 8 KVM que se ejecuta en su host KVM a través de SSH, como puede ver en la captura de pantalla a continuación.
Puedes ejecutar cualquier comando que quieras aquí también.
Conclusión
Este artículo le mostró cómo crear una máquina virtual KVM Centos 8 y conectarse a la máquina virtual a través de SSH. Cuando no se puede acceder a la máquina virtual CentOS 8 KVM desde la red doméstica (utiliza un puente de red privado), debe usar el túnel SSH para conectarse a la máquina virtual KVM usando SSH. Cuando desee acceso completo a la máquina virtual CentOS 8 KVM, puede configurar un puente de red público y configurar la máquina virtual para usar el puente. De esta manera, su máquina virtual KVM puede ser accesible desde toda su red doméstica.