Acceso por SSH a Ubuntu VM

facilitando el desarrollo

Escrito por Davinson Castaño Cano el 25 de Marzo de 2021 · 4 mins de lectura

Es mucho más fácil trabajar desde tu sistema operativo, que tener que estar cambiando entre tu sistema operativo y la máquina virtual. En mi caso la máquina virtual, VirtualBox, tiene instalado Ubuntu.

Para acceder a Ubuntu desde Windows u otro sistema operativo, necesitaremos activar el SSH.

¿Qué es SSH?

El SSH es un protocolo de red, que no permitirá acceder a una máquina ya sea virtual o remota de manera segura. SSH se traduce como terminal segura, del inglés “Secure Shell” o “Secure Socket Shell”. Este protocolo nos permitirá acceder de manera segura a cualquier máquina con conexión a internet y que acepte el protocolo.

Preparando Ubuntu

Desde Ubuntu deberemos instalar un servidor SSH, para poder conectarnos a esta máquina. Usaremos OpenSSH Server.

  1. Empecemos actualizando el sistema

     sudo apt-get update
     sudo apt-get upgrade
    
  2. Instalamos el paquete openssh-server

     sudo apt install openssh-server
    
  3. Una vez instalado el servicio de SSH deberá comenzar automáticamente, si no inicia lo iniciaremos de forma manual:

     sudo service ssh start
    
  4. Para verificar que el servicio de SSH está funcionando, escribimos los siguiente:

     sudo systemctl status ssh
    

    Podemos ver a continuación que el servicio de SSH está activo.

Configurando el corta fuego

Para poder acceder por SSH a la máquina debemos permitir la comunicación por el puerto 22 que es el puerto genérico para dicha comunicación. Para esto usaremos UFW.

  1. Empezaremos permitiendo la comunicación por SSH:

     sudo ufw allow ssh
    
  2. Habilitaremos el corta fuegos:

     sudo ufw enable
    
  3. Verificaremos que el puerto 22 esta habilitado:

     sudo ufw status
    

Configurando la VirtualBox

Para poder hacer SSH a la máquina virtual debemos crear un túnel entre las dos máquinas. Para empezar debemos averiguar el puerto IP de la máquina virtual, en lo hacemos de la siguiente forma:

  sudo ip a

En mi caso la IP es 10.0.2.15, esta IP, la necesitaré para la configuración del túnel. Ahora, desde la configuración de la máquina virtual, iremos a la configuración de red.

y configuraremos un túnel en “Port Forwarding”:

en el HOST, usaremos el localhost 127.0.0.1 con el puerto 2222, y en el GUEST usaremos la IP encontrada en la máquina virtual y el puerto 22.

Ya con esto podremos conectarnos por SSH con los programas putty o MobaXterm. En mi caso, uso MobaXterm. Para conectarme uso un terminal de MobaXterm y escribo:

  ssh -p 2222 [user]@127.0.0.1

Para que la conexión sea exitosa necesito tener la máquina virtual corriendo. La corro usando la opción “Detachable Start” que me permite cerrar la ventana de la máquina sin apagarla.

Para cerrar la ventana uso la siguiente opción.

Espero que haya sido de utilidad esta información, sumérgete en el mundo de la robótica y aprende un montón en el camino. Si logras usar ROS con éxito cuéntame por mis redes sociales que lo lograste… y si no tienes éxito por favor cuéntame que pasó para ayudarte a lograrlo, de antemano muchas gracias.