Guía completa sobre SSH: Conexión segura hacia un servidor.

Inicio / Linux / Guía completa sobre SSH: Conexión segura hacia un servidor.

SSH, o Secure Shell, es un protocolo de red que permite la administración segura de servidores y otros dispositivos a través de una red no segura. Es una herramienta fundamental para desarrolladores y administradores de sistemas que necesitan acceso remoto seguro. En este artículo, exploraremos qué es SSH, cómo funciona y cómo puedes utilizarlo en tus proyectos de WordPress para mejorar la seguridad y la gestión de tu servidor.

¿Qué es SSH?

SSH es un protocolo de red criptográfico utilizado para operar servicios de red de manera segura sobre una red no segura. El uso más común de SSH es para iniciar sesión en un sistema remoto y ejecutar comandos, aunque también puede utilizarse para transferir archivos y túneles de red seguros.

¿Cómo Funciona SSH?

SSH funciona mediante la creación de un túnel seguro cifrado a través del cual se transmiten todos los datos. Utiliza un par de claves, una pública y otra privada, para autenticar la conexión entre el cliente y el servidor. Aquí tienes un desglose básico de cómo funciona el proceso:

  1. Generación de Claves: El usuario genera un par de claves (pública y privada) en su máquina local.
  2. Distribución de la Clave Pública: La clave pública se coloca en el servidor al que se desea acceder.
  3. Autenticación: Cuando el usuario intenta conectarse al servidor, el servidor utiliza la clave pública para crear un desafío cifrado. Si el usuario puede responder correctamente usando su clave privada, la conexión se autentica y se establece.

Comandos más utilizados de SSH

Aquí te presento algunos de los comandos más requeridos y útiles de este protocolo, junto con ejemplos prácticos para que puedas comenzar a utilizarlos de inmediato.

Conexión básica a un servidor remoto

ssh usuario@servidor_ip 

Este comando te permite conectarte a un servidor remoto utilizando el nombre de usuario y la dirección IP del servidor.

Especificar un puerto diferente

ssh -p 2222 usuario@servidor_ip 

Si tu servidor SSH está configurado para escuchar en un puerto diferente al predeterminado (22), puedes especificar el puerto con la opción -p.

Copiar archivos desde el servidor remoto a tu máquina local

scp usuario@servidor_ip:/ruta/del/archivo /ruta/local 

Utiliza scp para copiar archivos de forma segura desde un servidor remoto a tu máquina local.

Copiar archivos desde tu máquina local al servidor remoto

scp /ruta/local/archivo usuario@servidor_ip:/ruta/remota 

Similar al comando anterior, pero en este caso copias archivos desde tu máquina local al servidor remoto.

Ejecutar un comando en el servidor remoto sin Iniciar una sesión interactiva

ssh usuario@servidor_ip 'comando' 

Este comando te permite ejecutar un comando específico en el servidor remoto sin necesidad de iniciar una sesión interactiva.

Crear un túnel SSH

ssh -L 8080:localhost:80 usuario@servidor_ip 

Crea un túnel SSH que redirige el tráfico desde el puerto 8080 de tu máquina local al puerto 80 del servidor remoto. Esto es útil para acceder a servicios web que están detrás de un firewall.

Transferir directorios de forma recursiva

scp -r usuario@servidor_ip:/ruta/del/directorio /ruta/local 

Usa la opción -r con scp para copiar directorios completos de forma recursiva.

Autenticarse utilizando una clave privada

ssh -i /ruta/a/tu_clave_privada usuario@servidor_ip 

Si estás utilizando autenticación basada en claves, puedes especificar la clave privada a utilizar con la opción -i.

Ver el estado de la conexión SSH

ssh -v usuario@servidor_ip 

La opción -v te proporciona detalles verbales sobre el proceso de conexión, lo cual es útil para la depuración.

Uso de SSH con WordPress

Este protocolo es especialmente útil para desarrolladores de WordPress que necesitan gestionar archivos y bases de datos de forma segura. Aquí hay algunas tareas comunes que puedes realizar con SSH:

  • Acceso y edición de archivos: Puedes usar comandos como nano o vim para editar archivos directamente en tu servidor.
  • Transferencia de archivos: Utiliza scp o rsync para transferir archivos entre tu máquina local y el servidor de forma segura.
  • Gestión de la base de datos: Conecta a tu base de datos MySQL o MariaDB de forma segura y realiza consultas o copias de seguridad.

SSH es una herramienta poderosa que proporciona una capa adicional de seguridad para la administración remota de servidores. Ya sea que estés gestionando un sitio de WordPress o cualquier otro tipo de proyecto, aprender a utilizar SSH de manera efectiva es esencial para mantener la seguridad y eficiencia de tu trabajo.

Puedes visitar la web de OpenSSH