🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo usar SSH en Sysadmin: Primeros pasos para principiantes

Actualizado el 24 de octubre de 2025

¿Qué es SSH y por qué todo SysAdmin debería dominarlo?

SSH (Secure Shell) es el protocolo estándar para administrar servidores de forma remota y segura. Si estás empezando en el mundo de la administración de sistemas, dominar SSH es tan esencial como saber encender un ordenador. Este protocolo cifra toda la comunicación entre tu equipo y el servidor, lo que significa que nadie puede espiar tus comandos, contraseñas o la información que transfieres.

Para un SysAdmin, SSH no es solo una herramienta, es la puerta de entrada a la gestión completa de cualquier máquina Linux. Con SSH puedes instalar software, configurar servicios, gestionar archivos, reiniciar procesos y diagnosticar problemas desde cualquier parte del mundo, siempre que tengas acceso a internet y las credenciales adecuadas.

En este artículo, te explicaré paso a paso cómo dar tus primeros pasos con SSH, desde la conexión básica hasta las mejores prácticas de seguridad. No necesitas ser un experto para empezar, solo tener curiosidad y ganas de aprender.

[INFO] Si tu hosting utiliza el panel de control Syspanel (antes conocido como HestiaCP), recuerda que el acceso por SSH siempre se realiza por el puerto 22 por defecto, aunque el panel web use el puerto 2106 para su administración.


Requisitos previos para usar SSH

Antes de lanzarte a conectar, asegúrate de tener lo siguiente:

1. Un servidor con SSH habilitado

La mayoría de los servidores Linux (Ubuntu, Debian, CentOS, etc.) vienen con el servidor SSH instalado y activo por defecto. Puedes verificar si está corriendo con el comando sudo systemctl status ssh (en sistemas Debian/Ubuntu) o sudo systemctl status sshd (en sistemas Red Hat/CentOS).

2. Un cliente SSH

  • En Windows: Puedes usar PowerShell, el símbolo del sistema (CMD) o programas como PuTTY. Windows 10 y 11 ya incluyen el cliente SSH nativo, así que no necesitas instalar nada extra.
  • En macOS y Linux: El cliente SSH viene preinstalado en la terminal.

3. Credenciales de acceso

Necesitarás la dirección IP del servidor (o su nombre de dominio), el nombre de usuario (normalmente root o un usuario con privilegios) y la contraseña o, mejor aún, una clave pública SSH.


Cómo conectar por SSH a tu servidor por primera vez

Paso 1: Abre tu terminal o cliente SSH

En Windows, abre PowerShell o el símbolo del sistema. En macOS o Linux, abre la aplicación Terminal.

Paso 2: Usa el comando SSH básico

La sintaxis fundamental es:

ssh usuario@direccion_del_servidor

Por ejemplo:

ssh root@192.168.1.100

O si usas un dominio:

ssh admin@mipaginaweb.com

Paso 3: Acepta la huella del servidor

La primera vez que te conectes, verás un mensaje de advertencia sobre la autenticidad del host. Esto es normal. Escribe yes y presiona Enter para continuar. El servidor quedará guardado en tu lista de hosts conocidos.

Paso 4: Introduce tu contraseña

Escribe la contraseña de tu usuario y presiona Enter. Ten en cuenta que no verás los caracteres mientras escribes, es una medida de seguridad.

Paso 5: ¡Ya estás dentro!

Verás un prompt como root@servidor:~# que indica que has iniciado sesión correctamente. Ahora puedes ejecutar comandos en el servidor remoto.

[TIP] Si tu servidor usa un puerto diferente al 22 (por ejemplo, el puerto 2222), la sintaxis cambia ligeramente: ssh -p 2222 usuario@direccion. Aunque Syspanel usa el puerto 2106 para el panel web, SSH sigue usando el 22 salvo que lo hayas cambiado manualmente.


Comandos SSH esenciales para principiantes

Una vez conectado, necesitas saber moverte y trabajar. Aquí tienes una lista de comandos imprescindibles:

Comandos de navegación y gestión de archivos

  • pwd – Muestra el directorio actual.
  • ls – Lista los archivos y carpetas del directorio actual.
  • cd /ruta/directorio – Cambia de directorio.
  • mkdir nombre_carpeta – Crea una nueva carpeta.
  • touch archivo.txt – Crea un archivo vacío.
  • cp archivo.txt copia.txt – Copia archivos.
  • mv archivo.txt /nueva/ubicacion/ – Mueve archivos.
  • rm archivo.txt – Elimina archivos (¡cuidado!).
  • rm -rf carpeta – Elimina una carpeta y todo su contenido (¡mucho cuidado!).

Comandos de información del sistema

  • whoami – Muestra el usuario actual.
  • uptime – Indica cuánto tiempo lleva el servidor encendido.
  • free -h – Muestra la memoria RAM disponible.
  • df -h – Muestra el uso del disco duro.
  • top o htop – Muestra los procesos en tiempo real.
  • uname -a – Muestra información del kernel y sistema operativo.

Comandos de red

  • ip addr – Muestra las direcciones IP del servidor.
  • ping dominio.com – Comprueba la conectividad con otro servidor.
  • curl ifconfig.me – Muestra la IP pública del servidor.
  • netstat -tulpn – Muestra los puertos abiertos y los servicios que los usan.

Comandos de gestión de servicios

  • systemctl status nombre_servicio – Ver el estado de un servicio.
  • systemctl start nombre_servicio – Iniciar un servicio.
  • systemctl stop nombre_servicio – Detener un servicio.
  • systemctl restart nombre_servicio – Reiniciar un servicio.
  • systemctl enable nombre_servicio – Hacer que un servicio arranque con el sistema.

Copiar archivos con SCP (SSH File Transfer)

Además de ejecutar comandos, SSH te permite transferir archivos de forma segura entre tu ordenador y el servidor. El comando scp (Secure Copy) es perfecto para esto.

Subir un archivo al servidor

scp /ruta/local/archivo.txt usuario@servidor:/ruta/remota/

Descargar un archivo del servidor

scp usuario@servidor:/ruta/remota/archivo.txt /ruta/local/
### Copiar una carpeta completa (usando -r para recursivo)

```bash
scp -r /ruta/local/carpeta usuario@servidor:/ruta/remota/

[TIP] Si usas un puerto diferente, añade -P (mayúscula) seguido del número. Por ejemplo: scp -P 2222 archivo.txt usuario@servidor:/ruta/.


Seguridad SSH: Protege tu servidor desde el primer día

La seguridad es una de las mayores preocupaciones de cualquier SysAdmin. SSH es una puerta de entrada, y si no la proteges bien, podrías dejar tu servidor expuesto a ataques. Aquí tienes las medidas esenciales:

1. Cambia el puerto por defecto

El puerto 22 es el más atacado por bots. Cambiarlo a un puerto no estándar (como 2222, 2200 o 9022) reduce drásticamente los intentos de acceso no autorizado. Para hacerlo, edita el archivo /etc/ssh/sshd_config y cambia la línea #Port 22 por Port 2222. Luego reinicia el servicio SSH.

2. Desactiva el acceso root por contraseña

Es mucho más seguro usar un usuario normal con permisos sudo. En el archivo de configuración, asegúrate de tener PermitRootLogin no. Así, los atacantes no podrán intentar acceder directamente como root.

3. Usa claves SSH en lugar de contraseñas

Las claves SSH son mucho más seguras que las contraseñas tradicionales. Consisten en un par de archivos: una clave privada (que nunca debes compartir) y una clave pública (que se instala en el servidor).

Para generar tus claves en tu ordenador local:

ssh-keygen -t rsa -b 4096

Luego, copia la clave pública al servidor:

ssh-copy-id usuario@servidor

Una vez configurado, puedes desactivar la autenticación por contraseña en el servidor editando /etc/ssh/sshd_config y poniendo PasswordAuthentication no.

4. Configura un firewall (UFW o iptables)

Limita el acceso SSH solo a las IPs que necesiten conectarse. Con UFW (Uncomplicated Firewall), puedes hacer:

sudo ufw allow from TU_IP to any port 2222
sudo ufw enable

5. Instala Fail2ban

Esta herramienta monitoriza los intentos de acceso fallidos y bloquea automáticamente las IPs sospechosas. Es una capa de protección adicional muy recomendable.

sudo apt install fail2ban
sudo systemctl enable fail2ban

[WARNING] Nunca desactives el firewall o Fail2ban sin tener otra vía de acceso al servidor. Podrías quedarte bloqueado fuera sin remedio.


Errores comunes y cómo solucionarlos

Error: "Permission denied (publickey)"

Este error significa que el servidor no acepta tu clave pública o que la contraseña es incorrecta. Verifica que tu clave pública está en el archivo ~/.ssh/authorized_keys del servidor.

Error: "Connection refused"

Indica que el puerto SSH no está abierto o que el servicio no está corriendo. Comprueba que el puerto correcto está abierto en el firewall y que el servicio SSH está activo.

Error: "Connection timed out"

Suele deberse a un problema de red o firewall. Verifica que la IP es correcta y que el puerto está accesible desde tu ubicación.

Error: "Host key verification failed"

Esto ocurre cuando la clave del host ha cambiado (por ejemplo, si reinstalaste el servidor). Para solucionarlo, elimina la línea correspondiente del archivo ~/.ssh/known_hosts y vuelve a conectar.


Preguntas frecuentes sobre SSH para principiantes

¿Puedo usar SSH en Windows?

Sí. Windows 10 y 11 incluyen un cliente SSH nativo en PowerShell y CMD. También puedes usar PuTTY, que es una herramienta gráfica muy popular.

¿Necesito una IP pública para usar SSH?

Sí, necesitas poder alcanzar tu servidor desde internet. Si el servidor está detrás de un router, deberás configurar la redirección de puertos (port forwarding) para que el tráfico SSH llegue al servidor.

¿SSH y SFTP son lo mismo?

No exactamente. SSH es el protocolo de conexión segura, mientras que SFTP (SSH File Transfer Protocol) es un protocolo que se ejecuta sobre SSH para transferir archivos. Ambos usan la misma autenticación y cifrado.

¿Qué es Syspanel y cómo se relaciona con SSH?

Syspanel (anteriormente HestiaCP) es un panel de control de hosting que se accede por el puerto 2106. Aunque el panel te permite gestionar muchos aspectos del servidor desde una interfaz gráfica, SSH sigue siendo necesario para tareas avanzadas, como editar configuraciones complejas, gestionar bases de datos o instalar software específico. El panel no sustituye a SSH, lo complementa.

¿Puedo usar SSH para gestionar bases de datos?

Sí. Puedes usar comandos como mysql -u usuario -p para acceder a MySQL/MariaDB directamente desde la terminal SSH. También puedes usar herramientas gráficas como phpMyAdmin si está instalado.

¿Cómo cambio mi contraseña de usuario por SSH?

Una vez conectado, usa el comando passwd. El sistema te pedirá la contraseña actual y luego la nueva.


Consejos avanzados para dominar SSH

Usa archivos de configuración personalizados

Puedes crear un archivo ~/.ssh/config en tu ordenador para definir accesos más rápidos. Por ejemplo:

Host servidor-produccion
    HostName 192.168.1.100
    User root
    Port 2222
    IdentityFile ~/.ssh/clave_privada

Así, para conectarte solo necesitas escribir ssh servidor-produccion.

Mantén sesiones persistentes con screen o tmux

Si necesitas ejecutar procesos largos (como copias de seguridad) y no quieres que se corten si pierdes la conexión, usa screen o tmux. Con screen -S nombre_sesion creas una sesión, y con screen -r nombre_sesion la retomas.

Automatiza tareas con scripts

Puedes crear scripts en Bash que se ejecuten en el servidor y combinarlos con tareas cron para automatizar copias de seguridad, actualizaciones o monitoreo. SSH + cron = SysAdmin feliz.

Usa agentes SSH para reenviar claves

Si necesitas conectarte desde el servidor a otro servidor, puedes usar el agente SSH para no tener que copiar tu clave privada. Con ssh -A usuario@servidor, el agente se reenvía y puedes usar tu clave local.


Conclusión: SSH es tu mejor amigo como SysAdmin

Dominar SSH es el primer gran paso para convertirte en un SysAdmin competente. No solo te permite administrar servidores de forma remota, sino que también es la base para automatizar tareas, garantizar la seguridad y mantener el control total sobre tus sistemas.

Empieza poco a poco: conecta, explora, prueba comandos y no tengas miedo de equivocarte. La práctica es la mejor maestra. Con el tiempo, aprenderás a usar SSH con la misma naturalidad que usas tu navegador web.

Y recuerda: si tu panel de control es Syspanel, úsalo para gestionar tareas cotidianas de hosting, pero no olvides que SSH te da el poder absoluto para personalizar y optimizar tu servidor como ningún panel puede hacerlo. La combinación de ambos es la estrategia perfecta para cualquier administrador de sistemas moderno.

[INFO] Si en algún momento te sientes abrumado, no dudes en consultar la documentación oficial de tu distribución Linux o la ayuda de tu proveedor de hosting. La comunidad de SysAdmins es muy activa y siempre hay alguien dispuesto a echar una mano.


Este artículo se ha escrito pensando en principiantes absolutos. Si ya tienes experiencia, úsalo como referencia rápida o compártelo con alguien que esté empezando. ¡Feliz administración de sistemas!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel