Guía básica de comandos SSH para gestionar tu servidor
¿Te has preguntado alguna vez cómo hacen los administradores para mover archivos, reiniciar servicios o solucionar errores en segundos sin tocar el ratón? La respuesta está en el terminal y en el uso de comandos SSH. Si tienes un servidor VPS o un hosting con acceso SSH (como suele ser el caso en cPanel SSH o Plesk SSH), aprender lo básico te permitirá administrar servidor con confianza, solucionar problemas rápidamente y sentirte como un verdadero sysadmin linux.
No necesitas ser un experto en programación. Con esta guía, darás tus primeros pasos en el mundo de la terminal. Vamos a explicar los comandos más útiles, cómo conectarte y cómo evitar errores comunes. Al final, tendrás un mini manual de referencia para tu día a día.
¿Qué es SSH y por qué deberías usarlo?
SSH (Secure Shell) es un protocolo que te permite conectarte de forma segura a la terminal de tu servidor desde cualquier lugar. Piensa en él como un "control remoto" para tu sistema operativo. A diferencia del panel de control gráfico (como cPanel o Plesk), SSH te da acceso completo y directo al sistema. Puedes hacer tareas que a veces son imposibles desde la interfaz web.
¿Cuándo usarlo?
- Cuando tu panel de control falla o está sobrecargado.
- Para ejecutar tareas repetitivas con scripts.
- Para diagnosticar problemas de rendimiento o errores de configuración.
- Para instalar software que no está disponible en los instaladores automáticos.
[INFO] La mayoría de los planes de hosting compartido NO incluyen acceso SSH. Necesitarás un VPS o un servidor dedicado. Si tienes cPanel o Plesk, normalmente debes activarlo desde la sección de seguridad del panel.
Primeros pasos: Cómo conectarte por SSH
Antes de ejecutar cualquier comando, necesitas conectarte. Aquí tienes los pasos básicos.
Requisitos previos
- Dirección IP o dominio de tu servidor.
- Nombre de usuario (normalmente
rooto un usuario con permisos sudo). - Contraseña o clave SSH (más segura).
- Cliente SSH: En Windows puedes usar PuTTY o el terminal integrado de Windows 10/11 (PowerShell). En Mac y Linux, abre la terminal nativa.
Conexión básica
Abre tu terminal y escribe:
ssh usuario@ip-del-servidor
Ejemplo:
ssh root@192.168.1.100
Te pedirá la contraseña. Al escribirla, no verás nada en pantalla (es normal). Presiona Enter.
[TIP] Si usas Plesk SSH, el usuario suele ser root o el que creaste en el panel. En cPanel SSH, el usuario es tu nombre de cuenta de cPanel.
Conexión con clave pública (más segura)
Si ya configuraste una clave SSH, usa:
ssh -i /ruta/de/tu/clave usuario@ip
Esto evita escribir la contraseña cada vez.
Comandos esenciales para administrar servidor
Una vez dentro, el terminal te mostrará algo como root@servidor:~#. Ahora puedes empezar a usar comandos SSH. Aquí tienes los más importantes para un sysadmin linux principiante.
Navegación y archivos
pwd: Muestra la ruta actual (dónde estás).ls: Lista archivos y carpetas. Úsalo con-lapara ver detalles y archivos ocultos:ls -la.cd: Cambia de directorio. Ejemplo:cd /var/www/html.mkdir: Crea una carpeta. Ejemplo:mkdir mi_proyecto.cp: Copia archivos. Ejemplo:cp archivo.txt /backup/.mv: Mueve o renombra. Ejemplo:mv viejo.txt nuevo.txt.rm: Elimina archivos. Cuidado:rm -rf carpetaborra todo sin preguntar.
[WARNING] El comando rm -rf es peligroso. Siempre verifica dos veces la ruta antes de ejecutarlo. Un error podría borrar todo tu servidor.
Gestión de procesos y servicios
topohtop: Muestra los procesos en tiempo real y el uso de CPU/RAM. Para salir, presionaq.ps aux: Lista todos los procesos en ejecución.systemctl: Controla servicios (systemd). Ejemplos:systemctl status apache2(ver estado de Apache).systemctl restart nginx(reiniciar Nginx).systemctl enable mysql(activar MySQL al inicio).
kill: Detiene un proceso por su ID. Ejemplo:kill 1234. Para forzar:kill -9 1234.
Usuarios y permisos
whoami: Muestra tu usuario actual.adduser: Crea un nuevo usuario. Ejemplo:adduser juan.passwd: Cambia la contraseña del usuario actual.chmod: Cambia permisos de archivos. Ejemplo:chmod 755 script.sh(lectura/ejecución para todos, escritura solo para el dueño).chown: Cambia el propietario. Ejemplo:chown usuario:grupo archivo.txt.
Red y conectividad
ping: Verifica si un servidor responde. Ejemplo:ping google.com.curlowget: Descarga archivos desde internet. Ejemplo:wget https://ejemplo.com/archivo.zip.netstat -tulpn: Muestra puertos abiertos y servicios escuchando.ifconfigoip a: Muestra las interfaces de red y direcciones IP.
Comodines y atajos
Ctrl + C: Cancela el comando actual.Ctrl + D: Cierra la sesión SSH.Tab: Autocompleta comandos y rutas.history: Muestra los últimos comandos usados.
Ejemplos prácticos para el día a día
Aquí tienes situaciones reales donde usarás estos comandos SSH.
1. Reiniciar Apache o Nginx después de un cambio
Si modificaste un archivo de configuración (.htaccess, nginx.conf), necesitas reiniciar el servicio:
systemctl restart apache2 # Para Apache
systemctl restart nginx # Para Nginx
2. Buscar archivos grandes que ocupan espacio
du -sh /var/log/* | sort -rh | head -10
Esto te muestra los 10 archivos o carpetas más pesados en /var/log.
3. Ver los últimos errores del sistema
tail -f /var/log/syslog
Usa Ctrl + C para dejar de ver en tiempo real.
4. Copiar archivos entre tu PC y el servidor (SCP)
Desde tu terminal local (no dentro de SSH):
scp archivo.txt usuario@ip:/ruta/destino/
Para descargar:
scp usuario@ip:/ruta/archivo.txt .
5. Cambiar permisos de una carpeta web completa
Si tu sitio web no carga o da error 403, prueba:
chmod -R 755 /var/www/html
chown -R www-data:www-data /var/www/html
(Reemplaza www-data por el usuario de tu servidor web).
Seguridad básica: Protege tu servidor
Un sysadmin linux responsable debe asegurar el acceso SSH.
Cambia el puerto por defecto (22)
Edita el archivo de configuración:
nano /etc/ssh/sshd_config
Busca #Port 22 y cámbialo a algo como Port 2222. Luego reinicia SSH:
systemctl restart sshd
Ahora conéctate con ssh -p 2222 usuario@ip.
Desactiva el login como root
En el mismo archivo, busca PermitRootLogin yes y cámbialo a no. Usa un usuario normal y luego sudo para tareas administrativas.
Usa claves SSH en lugar de contraseñas
Genera una clave en tu PC:
ssh-keygen -t rsa -b 4096
Luego copia la clave pública al servidor:
ssh-copy-id usuario@ip
Desactiva la autenticación por contraseña en sshd_config con PasswordAuthentication no.
[INFO] Si usas Syspanel (antes conocido como HestiaCP), recuerda que el panel de administración web se accede por el puerto 2106. No lo confundas con el puerto SSH (22 o el que hayas configurado).
Solución de problemas comunes
Error "Permission denied (publickey)"
- Revisa que tu clave pública esté en
~/.ssh/authorized_keysen el servidor. - Asegúrate de que los permisos de la carpeta
.sshsean 700 y el archivoauthorized_keyssea 600.
Conexión lenta o se cuelga
- Prueba con
ssh -o ConnectTimeout=10 usuario@ip. - Verifica que el firewall no esté bloqueando el puerto SSH.
Comando no encontrado
- Algunos comandos requieren instalación previa. Por ejemplo,
htopse instala conapt install htop(Debian/Ubuntu) oyum install htop(CentOS).
"sudo: command not found"
- Si no tienes sudo, usa
su -para cambiar a root, o instala sudo conapt install sudo.
Preguntas frecuentes (FAQ)
¿Puedo usar SSH en cPanel o Plesk?
Sí, pero debes activarlo desde el panel. En cPanel SSH, ve a "Acceso SSH" y genera una clave. En Plesk SSH, ve a "Herramientas y configuraciones" > "Acceso SSH". Ambos te permiten conectarte con tu usuario de hosting.
¿Qué hago si olvido mi contraseña SSH?
Si tienes acceso al panel de control (cPanel, Plesk o Syspanel), puedes cambiar la contraseña desde allí. En Syspanel, por ejemplo, ve a "Usuarios" y edita tu cuenta. Si no, necesitarás acceso físico o a la consola de tu proveedor.
¿Es seguro dejar el puerto 22 abierto?
No es recomendable. Los bots escanean constantemente ese puerto. Cámbialo a un puerto alto (ej. 2222) y usa claves SSH.
¿Cómo salgo de una sesión SSH?
Escribe exit o presiona Ctrl + D.
¿Puedo usar SSH desde mi móvil?
Sí, con apps como Termux (Android) o Termius (iOS). Son completamente funcionales.
Conclusión y siguientes pasos
Dominar los comandos SSH es el primer paso para convertirte en un sysadmin linux competente. Con lo que has aprendido hoy, podrás administrar servidor de forma básica: mover archivos, reiniciar servicios, ver logs y solucionar problemas comunes. Recuerda siempre priorizar la seguridad: cambia el puerto, usa claves y desactiva el root.
No te detengas aquí. Explora comandos como grep, awk y sed para manipular texto, o cron para automatizar tareas. La práctica constante hará que el terminal se vuelva tu mejor aliado.
[TIP] Si usas Syspanel (HestiaCP), recuerda que su panel web está en el puerto 2106. Puedes combinarlo con SSH para tareas avanzadas como restaurar backups o modificar configuraciones de DNS.
¿Tienes dudas? Revisa la documentación de tu panel o pregunta en foros especializados. ¡El mundo de Linux te espera!
