SSH ¡Acceso seguro y sencillo a servidores Linux! 💻✨

¿Quieres acceder a una máquina Linux de forma remota? No busques más allá de SSH. Aquí tienes todo lo que necesitas saber sobre este útil comando de Linux.

“`html

SSH, lo básico de Secure Shell que necesitas saber

Pingüino de Adelia, Isla Rey Jorge, Antártida

Si alguna vez tienes que realizar alguna administración remota, en algún momento vas a tener que entrar en un servidor Linux y poner manos a la obra. Para hacer eso, vas a necesitar utilizar SSH (también conocido como Secure Shell). Para aquellos que nunca han estado expuestos a una herramienta así, están de suerte porque no solo facilita el inicio de sesión en sistemas remotos, sino que también es muy seguro.

¿Qué es SSH? 🚀

SSH es un medio seguro de iniciar sesión en una máquina remota. Una vez iniciada la sesión, puedes ejecutar cualquier comando que necesites para trabajar con el servidor. Antes de pensar que usar SSH es difícil, no temas. Usar SSH no solo es bastante fácil, sino que también es muy poderoso.

Cómo usar SSH para conectarte a un servidor remoto 🌐

Lo que necesitarás: Quiero guiarte en los primeros pasos de uso de SSH. Estaré demostrándolo en Pop!_OS Linux pero esta información funcionará en cualquier distribución de Linux que admita SSH (que es la mayoría). Lo único que necesitarás para seguir este tutorial son dos instancias en ejecución de Linux. Eso es todo. Vamos a ponernos ocupados con SSH.

1. Iniciar sesión en una máquina remota ✉️

Usar SSH te permite iniciar sesión desde una máquina local a una máquina remota. Necesitarás cuentas de usuario en ambas máquinas. Esas cuentas no tienen que ser las mismas en cada máquina (explicaré esto en un momento), pero sí necesitas tener credenciales de inicio de sesión para ambas.

También: ¿Necesitas un antivirus en Linux?

También necesitarás la dirección IP (o dominio) del servidor al que deseas iniciar sesión. Digamos, por ejemplo, que nuestro servidor remoto está en la dirección IP 192.168.1.11 y nuestra cuenta de usuario es la misma en ambas máquinas. Inicia sesión en tu computadora de escritorio, abre una ventana de terminal e inicia sesión en la máquina remota con el comando:

ssh 192.168.1.11

Se te solicitará tu nombre de usuario en la máquina remota. Una vez que te has autenticado con la contraseña, estarás iniciado en la máquina remota, donde puedes empezar a trabajar.

2. Iniciar sesión a través de un nombre de dominio 🏰

Digamos que la máquina remota está asociada con el dominio www.ejemplo.com. Podrías iniciar sesión en esa con el comando:

ssh www.ejemplo.com

3. Iniciar sesión usando un nombre de usuario diferente 🤔

Ahora, ¿qué pasa si tu nombre de usuario en la máquina remota no es el mismo que en el escritorio? Si tu nombre de usuario en la máquina remota es olivia, podrías iniciar sesión con el comando:

Se te solicitará la contraseña de olivia (no la del usuario local).

4. Iniciar sesión a través de un puerto no estándar 🔒

“““html

Normalmente, SSH utiliza el puerto 22. Algunos administradores podrían cambiar ese puerto (por razones de seguridad). Si el administrador del servidor ha configurado SSH para escuchar en el puerto 2022, no puedes simplemente escribir el comando SSH estándar para iniciar sesión. En su lugar, debes agregar la opción -p (para el puerto) de la siguiente manera:

ssh [email protected] -p 2022

Configuración del sitio SSH 🎛️

Recordar todas esas direcciones IP y nombres de usuario puede ser un verdadero dolor de cabeza para algunos. Afortunadamente, SSH te permite crear un archivo de configuración que contenga toda esta información. Supongamos, por ejemplo, que tienes la siguiente lista de servidores en los que inicias sesión:

  • servidor web – 192.168.1.11
  • servidor de correo – 192.168.1.12
  • servidor de base de datos – 192.168.1.13

Configuremos SSH de modo que solo tengas que iniciar sesión con los comandos:

  • ssh web1
  • ssh correo1
  • ssh db1

1. Crear un archivo de configuración 📝

También asumiremos que el usuario en web1 es olivia, el usuario en correo1 es nathan y el usuario en db1 es el mismo que el usuario en la máquina local. Para configurar esto, debemos crear un archivo de configuración en el directorio ~/.ssh. Para eso, regresa a la ventana del terminal en tu máquina local y emite el siguiente comando:

nano /home/USUARIO/.ssh/config

Donde USUARIO es tu nombre de usuario de Linux.

2. Configurar el archivo ⚙️

En ese archivo, agrega las siguientes líneas:

“`

Host web1
  Hostname 192.168.1.11
  User olivia

Host email1
  Hostname 192.168.1.12
  User nathan

Host db1
  Hostname 192.168.1.13

Guarda y cierra el archivo. Ahora deberías poder iniciar sesión en esos diferentes servidores con comandos más cortos (por ejemplo, ssh web1, ssh email1 y ssh db1). Es importante recordar, sin embargo, que para web1 se te solicitará la contraseña de olivia, para email1 se pedirá la contraseña de nathan y para db1 se solicitará el mismo usuario que el usuario local.

Ejecutando comandos en una máquina remota con SSH 💡

Este es un pequeño truco útil. Digamos que no necesariamente quieres iniciar sesión en una máquina remota, pero necesitas ejecutar un comando. Por ejemplo, quieres listar el contenido del directorio home del usuario remoto. Para eso, podrías emitir el siguiente comando:

ssh [email protected] ls /home/olivia

Dado que hemos configurado nuestro archivo de configuración, podemos truncar ese comando a:

ssh web1 ls /home/olivia

Podemos reducir un poco más de ese comando porque Linux tiene un atajo para el directorio home de un usuario (porque /home/olivia y ~/ son lo mismo). Por lo tanto, nuestro comando se convierte en:

ssh web1 ls ~/

Y eso, mis queridos amigos, son los conceptos básicos para utilizar SSH para iniciar sesión en una máquina remota de Linux. Si alguna vez tienes que realizar alguna administración remota de una máquina Linux, esto es lo que necesitarás saber. La próxima vez, te presentaré la autenticación con clave SSH, para accesos remotos aún más seguros.

Referencias:

  1. MABox Linux Proves That Old-School Linux is Here to Stay and It’s Free to Use!
  2. Do You Need Antivirus on Linux?

🔮 P&R: Preguntas Frecuentes sobre SSH

P: ¿SSH solo está disponible para Linux? R: No, SSH está disponible para Linux, Windows y macOS. Puedes usar clientes SSH como PuTTY o OpenSSH para conectarte a máquinas remotas en diferentes sistemas operativos.

P: ¿Cuáles son las ventajas de usar SSH sobre otros métodos de inicio de sesión remoto? R: SSH proporciona comunicación cifrada segura entre el cliente y el servidor, lo que lo hace resistente al espionaje y al acceso no autorizado. También permite transferencia de archivos segura y ejecución de comandos remotos.

P: ¿Cómo puedo generar claves SSH para autenticación? R: La autenticación con clave SSH es un método más seguro para iniciar sesión en servidores remotos sin necesidad de contraseñas. Puedes generar claves SSH usando el comando ssh-keygen y luego configurar el servidor para aceptar tu clave pública.

P: ¿Se puede usar SSH para algo más que la administración remota de servidores? R: ¡Absolutamente! SSH es versátil y puede usarse para diversos fines como reenvío de puertos, túneles y transferencias de archivos seguras. Es una herramienta poderosa para cualquier tarea que requiera comunicación segura entre sistemas.

P: ¿Existen alternativas a SSH para conexiones remotas? R: Aunque SSH es la herramienta de inicio de sesión remoto más popular y ampliamente utilizada, existen protocolos alternativos como Telnet, que es menos seguro debido a la comunicación en texto plano, y RDP (Protocolo de Escritorio Remoto) para sistemas Windows.


Ahora que has dominado el arte de SSH, ¡prepárate para llevar tus habilidades de administración remota al siguiente nivel! 🚀 Comparte este artículo con tus amigos expertos en tecnología y permíteles descubrir el poder del acceso remoto seguro. 💪

Vídeo destacado: El poder de SSH

Fuente de la imagen: Pingüino de Adelie, Isla Rey Jorge, Antártida