7 Configurar y actualizar máquina

 

Conectarse por SSH a tu Máquina Virtual y Preparar el Entorno

Una vez que tu máquina virtual tiene una IP estática y acceso a Internet (como configuramos en el tutorial anterior), el siguiente paso es conectarte a ella de forma remota mediante SSH. Esto te permitirá administrar el servidor desde tu computadora local sin necesidad de la consola de la máquina virtual. Además, realizaremos las actualizaciones necesarias e instalaremos herramientas útiles.

Requisitos Previos

  • Máquina virtual con Ubuntu Server configurada con IP estática y acceso a Internet.

  • Conocer la IP estática asignada a la máquina virtual (ej. 192.168.1.208).

  • Conocer el nombre de usuario y contraseña de la máquina virtual.

  • Tener un cliente SSH en tu computadora local:

    • Windows 10/11: PowerShell o CMD ya incluyen el cliente SSH de forma nativa. También puedes usar Git Bash (si tienes Git instalado) o PuTTY.

    • macOS / Linux: La terminal ya tiene el comando ssh incorporado.

Paso 1: Verificar que el Servicio SSH esté Activo en el Servidor (Opcional pero Recomendado)

Antes de intentar conectarte, es buena práctica asegurarse de que el servicio SSH esté corriendo en el servidor. Puedes hacerlo desde la consola de la máquina virtual (la que abriste al encenderla) o, si ya tienes acceso, desde la misma.

Método actual (recomendado): Usar systemctl (systemd) en lugar del obsoleto /etc/init.d/.

bash
sudo systemctl status ssh

Verás un mensaje que indica que el servicio está active (running). Si no lo está, puedes iniciarlo con:

bash
sudo systemctl start ssh

Y habilitarlo para que inicie automáticamente al arrancar:

bash
sudo systemctl enable ssh

Nota: En versiones modernas de Ubuntu Server, el servicio SSH suele estar instalado y activo por defecto.

Paso 2: Conectarse vía SSH desde tu Computadora Local

Abre tu terminal preferida (PowerShell, Git Bash, Terminal de macOS/Linux) y ejecuta el siguiente comando:

bash
ssh nombre_usuario@direccion_ip_estatica

Por ejemplo:

bash
ssh udemi@192.168.1.208

Explicación:

  • ssh: comando para iniciar la conexión SSH.

  • nombre_usuario: el usuario que creaste en el servidor (en el ejemplo, udemi).

  • @: separador.

  • direccion_ip_estatica: la IP que configuraste (ej. 192.168.1.208).

Primera conexión:
Al conectarte por primera vez, SSH te preguntará si confías en la huella digital del servidor. Debes escribir yes y presionar Enter. Esto agregará el servidor a tu archivo ~/.ssh/known_hosts.

Luego te pedirá la contraseña del usuario. Escríbela (no verás caracteres mientras escribes) y presiona Enter.

¡Ya estás dentro de tu máquina virtual! A partir de ahora, puedes minimizar la ventana de la consola virtual y trabajar desde tu terminal local.

Paso 3: Actualizar el Sistema (Práctica Recomendada)

Una vez conectado por SSH, es fundamental actualizar los paquetes del sistema para tener las últimas correcciones de seguridad y estabilidad.

3.1. Actualizar la lista de paquetes

bash
sudo apt update

Esto descarga la información de los repositorios.

3.2. Actualizar los paquetes instalados

bash
sudo apt upgrade -y

El flag -y responde "sí" automáticamente a la pregunta de confirmación. Si prefieres revisar los paquetes antes de actualizar, omite el -y.

3.3. (Opcional) Actualizar la distribución

Si quieres actualizar a una nueva versión mayor (ej. de 22.04 a 24.04), usa sudo do-release-upgrade, pero esto no es necesario para el curso.

Paso 4: Instalar Herramientas Adicionales (net-tools)

El comando ifconfig (del paquete net-tools) es útil para ver la configuración de red de forma más detallada y amigable. Aunque en las versiones modernas de Ubuntu se recomienda usar el comando ip (que ya viene instalado), muchos administradores siguen prefiriendo ifconfig.

Para instalar net-tools:

bash
sudo apt install net-tools -y

Una vez instalado, puedes ejecutar:

bash
ifconfig

Verás información detallada de todas las interfaces de red, incluyendo la IP, máscara, etc.

Nota sobre la obsolescencia: El paquete net-tools está en desuso y ya no se desarrolla activamente. La herramienta moderna y recomendada es iproute2 (que incluye ip, ss, etc.). Sin embargo, si te sientes más cómodo con ifconfig, puedes instalarlo sin problemas. El curso lo menciona porque es un comando muy conocido.

Paso 5: (Opcional) Verificar la Conectividad a Internet

Desde la sesión SSH, prueba hacer ping a un sitio externo para confirmar que todo funciona:

bash
ping -c 4 google.com

Si ves respuestas, la configuración de red es correcta.

Paso 6: Finalizar la Conexión SSH

Cuando termines de trabajar, escribe exit o presiona Ctrl + D para cerrar la sesión SSH.


Mejores Prácticas y Formas Más Actuales

  1. Uso de systemctl en lugar de /etc/init.d/: El método antiguo con /etc/init.d/ssh status ya no es el estándar. En todas las versiones recientes de Ubuntu (desde 16.04), se usa systemctl para gestionar servicios.

  2. Cliente SSH nativo en Windows: Desde Windows 10, ya no necesitas instalar Git Bash o PuTTY para SSH; PowerShell y CMD tienen el comando ssh integrado. Git Bash sigue siendo válido, pero no es obligatorio.

  3. Autenticación por clave pública (más segura que contraseña): En lugar de usar contraseña, se recomienda configurar autenticación con clave SSH. Esto evita escribir la contraseña cada vez y es más seguro. Puedes generar un par de claves con ssh-keygen y copiar la clave pública al servidor con ssh-copy-id usuario@ip.

  4. Uso de apt con -y: Como se muestra, es común usar -y para actualizaciones automáticas, pero en entornos de producción es mejor revisar los cambios. Para entornos de desarrollo, está bien.

  5. Preferir ip sobre ifconfig: Como se mencionó, ip es la herramienta moderna. Por ejemplo, ip a o ip addr show reemplazan a ifconfig. Sin embargo, si el curso usa ifconfig, puedes instalarlo sin problema.

  6. SSH con opciones adicionales: Si tu servidor usa un puerto diferente al 22 (por seguridad), usa ssh -p puerto usuario@ip. También puedes usar -o para opciones avanzadas, pero no es necesario aquí.


¡Con esto ya tienes acceso SSH a tu máquina virtual y has preparado el sistema para instalar Docker y Docker Compose, como se hará en el siguiente paso del curso




Comentarios

Entradas más populares de este blog

12. Hola Mundo en Docker.

11¿Qué es Docker? y ¿Por qué debo saberlo?

14. Publish and Detached modes