Guía básica de comandos SSH para principiantes
¿Te suena eso de "conectar por SSH" y te suena a chino? No te preocupes, es mucho más sencillo de lo que parece. SSH (Secure Shell) es como una llave maestra que te permite entrar en el "interior" de tu servidor desde cualquier parte del mundo, usando solo una ventana de texto. Es la herramienta fundamental para administrar cualquier web, base de datos o archivo en un hosting VPS o dedicado.
Esta guía es tu punto de partida. No necesitas ser un experto en Linux, solo tener paciencia y seguir los pasos. Al final, serás capaz de conectarte, mover archivos y ejecutar comandos básicos con total confianza. Vamos a ello.
¿Qué es SSH y por qué lo necesitas?
Imagina que tu servidor es una casa muy segura. La puerta principal es el panel de control (como Syspanel, del que hablaremos luego). Pero, ¿y si necesitas arreglar una tubería interna o revisar el cableado? Para eso necesitas una llave que te dé acceso directo a cada rincón. Esa llave es SSH.
A diferencia del panel gráfico, SSH te da un control total y absoluto sobre el sistema operativo. Es la forma más rápida y eficiente de realizar tareas como:
- Instalar software (como WordPress o Node.js).
- Configurar archivos del servidor (como
.htaccessonginx.conf). - Gestionar bases de datos.
- Mover y copiar archivos entre tu ordenador y el servidor (con scp ssh).
- Diagnosticar problemas y ver logs en tiempo real.
En resumen, si quieres pasar de "usuario" a "administrador" de tu hosting, dominar los comandos ssh básicos es el primer paso obligatorio.
Requisitos previos: Lo que necesitas antes de empezar
Antes de lanzarnos a la consola, asegúrate de tener esto listo:
- Acceso a un servidor: Necesitas un VPS o un hosting que ofrezca acceso SSH. Si solo tienes un hosting compartido, es posible que no tengas este permiso.
- Datos de conexión: Tres datos clave:
- Dirección IP o dominio: La "dirección" de tu servidor (ej.
192.168.1.1omidominio.com). - Usuario: El nombre de usuario con el que te conectas (normalmente
rooto un usuario con privilegios). - Contraseña o clave SSH: La llave de acceso. Puede ser una contraseña o un archivo de clave privada.
- Dirección IP o dominio: La "dirección" de tu servidor (ej.
- Un cliente SSH: El programa que usas para conectarte. En Mac y Linux está integrado en la terminal. En Windows, puedes usar PowerShell, CMD o programas como PuTTY.
[INFO] Si tu hosting utiliza Syspanel (antes conocido como HestiaCP), el acceso SSH se gestiona desde la sección de "Usuarios" o "Acceso". El puerto de acceso SSH es el estándar (22), pero el panel de control gráfico se accede por el puerto 2106. No los confundas.
Paso 1: Tu primera conexión SSH (El clásico ssh)
La forma más básica de conectarte es usando el comando ssh seguido de tu usuario y la dirección del servidor. Abre tu terminal local y escribe:
ssh usuario@direccion-del-servidor
Por ejemplo:
ssh root@192.168.1.100
¿Qué pasará después?
- La primera vez, verás un mensaje de advertencia sobre la autenticidad del host. Te pregunta si confías en esa conexión. Escribe
yesy pulsa Enter. (Esto es normal, solo ocurre la primera vez). - Te pedirá la contraseña. Escríbela (no verás los caracteres mientras la escribes, es normal) y pulsa Enter.
- ¡Listo! Verás un mensaje de bienvenida y una línea de comandos parecida a esta:
root@servidor:~#. Ya estás dentro.
[TIP] Si usas Windows, abre PowerShell o el Símbolo del sistema. El comando ssh funciona de la misma manera.
Paso 2: Navegar por el servidor (Comandos esenciales)
Una vez dentro, te mueves por el sistema de archivos con comandos muy intuitivos. Piensa en ellos como "verbos" de acción.
-
pwd(Print Working Directory): Te dice dónde estás. Es como un GPS. Al conectarte, normalmente estás en tu carpeta de usuario (/rooto/home/usuario). -
ls(List): Muestra los archivos y carpetas de tu ubicación actual.ls -l: Muestra una lista detallada con permisos, propietario, tamaño y fecha.ls -a: Muestra también los archivos ocultos (los que empiezan por.).
-
cd(Change Directory): Te permite cambiar de carpeta.cd /var/www/html: Te lleva a la carpeta de tu web.cd ..: Sube un nivel (a la carpeta padre).cd ~: Te lleva directamente a tu carpeta de usuario.
-
mkdir(Make Directory): Crea una nueva carpeta. Ejemplo:mkdir mi-nueva-carpeta. -
rmdir(Remove Directory): Elimina una carpeta vacía. Ejemplo:rmdir mi-carpeta-vacia. -
touch: Crea un archivo vacío. Ejemplo:touch mi-archivo.txt. -
rm(Remove): Elimina archivos o carpetas. ¡CUIDADO! Este comando es peligroso. No hay papelera.rm archivo.txt: Elimina el archivo.rm -r carpeta: Elimina la carpeta y todo su contenido.
[WARNING] Antes de usar rm, asegúrate al 200% de que estás en la carpeta correcta y de que el nombre del archivo es el correcto. Un error tipográfico puede borrar algo importante. Siempre es mejor usar ls primero para ver qué hay.
Paso 3: Manipular archivos y permisos (El día a día)
Aquí es donde las cosas se ponen interesantes. Aprender a copiar, mover y cambiar permisos es fundamental.
Copiar y mover archivos
-
cp(Copy): Copia un archivo o carpeta.cp archivo.txt copia-archivo.txt: Copiaarchivo.txtcomocopia-archivo.txt.cp -r carpeta1 carpeta2: Copia la carpetacarpeta1y todo su contenido acarpeta2.
-
mv(Move): Mueve o renombra archivos/carpetas.mv archivo.txt /nueva/ubicacion/: Mueve el archivo a otra carpeta.mv viejo.txt nuevo.txt: Renombraviejo.txtanuevo.txt.
Entender y cambiar permisos (chmod)
En Linux, cada archivo y carpeta tiene permisos para el propietario (u), el grupo (g) y otros (o). Puedes verlos con ls -l. Verás algo como -rw-r--r--.
r(read) = lectura = 4w(write) = escritura = 2x(execute) = ejecución = 1
El comando chmod te permite cambiarlos. Se usa con números que suman estos valores.
chmod 755 archivo.sh: Da permisos de lectura y ejecución a todos, y de escritura solo al propietario. Es muy común para scripts.chmod 644 archivo.txt: Da lectura a todos, y escritura solo al propietario. Es el permiso estándar para archivos de web.
[TIP] Un atajo muy usado es chmod -R 777 carpeta. Esto da todos los permisos a todo el mundo. NO LO HAGAS NUNCA a menos que sea una emergencia temporal. Es un agujero de seguridad enorme.
Paso 4: El comando scp ssh para transferir archivos (Copia Segura)
Ahora, la parte más práctica: subir o bajar archivos de tu servidor. El comando scp (Secure Copy) usa la misma seguridad que SSH, pero para transferir archivos.
La sintaxis es similar a cp, pero indicando el servidor.
Subir un archivo de tu PC al servidor:
scp /ruta/local/archivo.txt usuario@servidor:/ruta/remota/
Bajar un archivo del servidor a tu PC:
scp usuario@servidor:/ruta/remota/archivo.txt /ruta/local/
Ejemplo práctico:
Imagina que tienes un backup de tu web en tu escritorio (backup.zip) y lo quieres subir a ~/backups/ en tu servidor.
scp /home/tu-usuario/Escritorio/backup.zip root@192.168.1.100:~/backups/
Te pedirá la contraseña de nuevo y verás una barra de progreso. ¡Así de fácil!
[INFO] Para copiar carpetas enteras con scp, usa la bandera -r (recursivo). Ejemplo: scp -r /carpeta/local usuario@servidor:/ruta/remota/.
Paso 5: El superusuario sudo y el editor nano
Dos herramientas que usarás a diario.
sudo: Poder con responsabilidad
No siempre te conectas como root (el administrador total). Es una buena práctica usar un usuario normal y solo elevar privilegios cuando sea necesario. El comando sudo te permite ejecutar una orden como administrador.
sudo apt update
Te pedirá tu contraseña (la del usuario actual, no la de root) y ejecutará el comando con permisos de superusuario. Es una capa de seguridad extra.
nano: El editor de texto amigable
Necesitarás editar archivos de configuración. nano es el editor más sencillo para principiantes.
- Para abrir un archivo:
nano /ruta/al/archivo.conf - Para editar: Simplemente escribe con el teclado.
- Para guardar: Pulsa
Ctrl + O(la letra O, no el número cero) y luego Enter. - Para salir: Pulsa
Ctrl + X. - Para cortar una línea:
Ctrl + K. - Para pegar:
Ctrl + U.
[WARNING] Si no sabes qué estás haciendo, no toques los archivos de configuración del sistema. Un error puede romper tu servidor. Siempre haz una copia de seguridad antes de editar: cp archivo.conf archivo.conf.bak.
Preguntas Frecuentes (FAQ) sobre SSH
Aquí tienes las dudas más comunes que nos suelen llegar al soporte, resueltas de forma rápida.
¿Cómo salgo de SSH?
Muy fácil. Escribe exit y pulsa Enter. O simplemente cierra la ventana de la terminal.
¿Por qué me dice "Permission denied (publickey)"?
Esto significa que el servidor no acepta tu contraseña o clave. Las causas más comunes son:
- Contraseña incorrecta: Revisa que no tengas las mayúsculas activadas.
- Usuario incorrecto: Asegúrate de que el usuario existe en el servidor.
- Clave SSH inválida: Si usas una clave, comprueba que la ruta al archivo de clave privada es correcta y que has añadido la clave pública al archivo
~/.ssh/authorized_keysdel servidor.
¿Puedo usar SSH desde el móvil?
Sí, totalmente. En Android puedes usar Termux o JuiceSSH. En iOS, Termius o Prompt. Son muy útiles para emergencias.
¿SSH es seguro? ¿Puedo hacer algo para mejorarlo?
Sí, es muy seguro, pero puedes reforzarlo:
- Cambia el puerto 22 por defecto: Es menos probable que te ataquen robots que escanean ese puerto.
- Desactiva el acceso
root: Crea un usuario normal y usasudo. - Usa autenticación con claves SSH: Es mucho más seguro que usar contraseñas.
¿Qué es Syspanel y cómo se relaciona con SSH?
Syspanel (anteriormente HestiaCP) es un panel de control gráfico para tu servidor. Es una alternativa a cPanel o Plesk. Puedes gestionar tus sitios web, correos y bases de datos desde una interfaz web. El acceso a este panel es a través del puerto 2106 (ej. https://tu-dominio.com:2106). SSH es la herramienta de texto que te da un control más profundo, mientras que Syspanel es la interfaz amigable para las tareas comunes. Ambos conviven sin problema.
Me he quedado atascado en un comando, ¿qué hago?
Pulsa Ctrl + C para cancelar el comando actual y volver a la línea de comandos. Si la terminal se ha quedado "congelada", Ctrl + D puede cerrar la sesión.
Conclusión: Tu viaje apenas comienza
Has aprendido los comandos ssh esenciales: conectar, navegar, copiar, mover y editar. Con estas herramientas, ya puedes administrar tu servidor con soltura. No tengas miedo de explorar y probar. La práctica es la mejor maestra.
Recuerda estos 4 puntos clave:
- Sé cuidadoso con
rmychmod. Siempre verifica antes de ejecutar. - Usa
scp sshpara tus transferencias de archivos. Es rápido y seguro. - Si tu panel es Syspanel, recuerda que el acceso web es por el puerto 2106, pero SSH es otro mundo.
- Cuando te sientas más seguro, investiga sobre las claves SSH. Es la forma más segura de conectarte.
Ahora, abre tu terminal, conéctate a tu servidor y empieza a practicar. ¡Nos vemos en el siguiente nivel!
[TIP] Si te pierdes, el comando man nombre-del-comando (ej. man scp) te muestra el manual de ayuda en inglés. No es el tutorial más divertido, pero es la fuente de verdad definitiva.
