En Mac y Linux, SSH viene integrado: no necesitas ningún software adicional. La aplicación Terminal te da acceso directo a SSH y a las herramientas relacionadas. En Theory7 vemos que muchos desarrolladores y administradores de sistemas usan Mac o Linux por estas potentes posibilidades de la línea de comandos. En esta guía te explicamos todo sobre las conexiones SSH.

Abrir Terminal

En macOS

Hay varias formas de abrir Terminal:

  • Spotlight: pulsa Cmd + Espacio, escribe Terminal y pulsa Intro.
  • Finder: ve a Aplicaciones > Utilidades > Terminal.
  • Launchpad: busca Terminal en el Launchpad.

En Linux

Según tu distribución, hay distintas maneras de abrir Terminal:

  • Ubuntu/Debian: pulsa Ctrl + Alt + T para abrir una nueva ventana de Terminal.
  • KDE: busca Konsole en el menú de aplicaciones.
  • GNOME: busca Terminal en el menú de aplicaciones.
  • En general: busca Terminal en el menú de aplicaciones.

Conexión SSH básica

La forma más sencilla de establecer una conexión SSH es usar el siguiente comando:

ssh gebruikersnaam@server

Ejemplo:

ssh john@example.com

Con un puerto específico

En Theory7 usamos el puerto 7777 para reforzar la seguridad. Puedes indicarlo fácilmente con la siguiente sintaxis:

ssh gebruikersnaam@server -p 7777

Con una dirección IP

Si quieres acceder al servidor a través de una dirección IP, usa el siguiente comando:

ssh gebruikersnaam@123.45.67.89 -p 7777

Generar claves SSH

Las claves SSH son más seguras que las contraseñas y hacen que conectarse a los servidores sea más sencillo y seguro. Al usar claves SSH, evitas tener que introducir tu contraseña una y otra vez.

Crear una clave Ed25519 (recomendado)

La clave Ed25519 es la opción recomendada por su gran seguridad y su velocidad:

ssh-keygen -t ed25519 -C "jouw@example.nl"

El programa te pedirá que elijas algunas opciones:

  1. Ubicación: pulsa Intro para usar la ubicación predeterminada (~/.ssh/id_ed25519).
  2. Passphrase: es una contraseña opcional que añade seguridad a tu clave privada.

Crear una clave RSA (sistemas antiguos)

Si trabajas con sistemas antiguos que no admiten Ed25519, puedes crear una clave RSA:

ssh-keygen -t rsa -b 4096 -C "jouw@example.nl"

Ver las claves

Para ver las claves que has generado, usa el siguiente comando:

ls -la ~/.ssh/

Verás los siguientes archivos:

  • id_ed25519: es tu clave privada (¡no la compartas nunca!).
  • id_ed25519.pub: es tu clave pública (puedes compartirla con otras personas).

Copiar la clave pública al servidor

Para conectarte a un servidor por SSH, tienes que copiar tu clave pública en el servidor. Puedes hacerlo de varias maneras:

Método 1: ssh-copy-id (el más fácil)

Para copiar tu clave pública de la forma más sencilla, usa el comando ssh-copy-id de esta manera:

ssh-copy-id -i ~/.ssh/id_ed25519.pub gebruiker@server -p 7777

Este comando copia automáticamente tu clave pública en el servidor y la añade al archivo authorized_keys.

Método 2: manual

Si ssh-copy-id no funciona, puedes hacerlo a mano:

  1. Consulta tu clave pública con:
  2. cat ~/.ssh/id_ed25519.pub
  3. Copia la salida del comando.
  4. Inicia sesión en el servidor con tu contraseña.
  5. Añade la clave pública a ~/.ssh/authorized_keys de esta manera:
  6. echo "jouw-public-key-hier" >> ~/.ssh/authorized_keys
  7. Comprueba que los permisos del archivo están bien configurados:
  8. chmod 600 ~/.ssh/authorized_keys
  9. Cierra la sesión y vuelve a iniciarla con SSH.

Método 3: a través de DirectAdmin

Si usas un proveedor de hosting compatible con DirectAdmin, también puedes importar tu clave pública desde la interfaz:

  1. Inicia sesión en DirectAdmin.
  2. Ve a SSH Keys.
  3. Haz clic en Import Key.
  4. Pega tu clave pública en el campo correspondiente.
  5. Autoriza la clave.

Conectarse con una clave SSH

Una vez instalada la clave, puedes conectarte al servidor sin introducir tu contraseña:

ssh -i ~/.ssh/id_ed25519 gebruiker@server -p 7777

Si usas la clave predeterminada, puedes simplificar el comando:

ssh gebruiker@server -p 7777

Configuración SSH para conectarte más rápido

Para que te resulte más fácil conectarte a distintos servidores, puedes crear un archivo de configuración SSH:

nano ~/.ssh/config

Añade la siguiente configuración:

Host mijnserver
    HostName example.nl
    User gebruikersnaam
    Port 7777
    IdentityFile ~/.ssh/id_ed25519

Host theory7
    HostName server.theory7.net
    User myuser
    Port 7777
    IdentityFile ~/.ssh/id_ed25519

Ahora puedes conectarte fácilmente con:

ssh mijnserver

O bien:

ssh theory7

Transferir archivos

Con SSH también puedes transferir archivos fácilmente entre tu equipo local y el servidor. Puedes hacerlo de varias maneras:

SCP (Secure Copy)

Para subir un archivo al servidor, usa:

scp -P 7777 lokaalbestand.txt user@server:/pad/naar/doel/

Para descargar un archivo del servidor, usa:

scp -P 7777 user@server:/pad/naar/bestand.txt ./lokaal/

Para subir una carpeta completa, usa:

scp -P 7777 -r lokalemap user@server:/pad/naar/doel/

Sesión interactiva de SFTP

Para abrir una sesión interactiva con el servidor, puedes usar SFTP:

sftp -P 7777 user@server

Estos son algunos comandos útiles de SFTP:

  • ls: muestra los archivos del directorio actual.
  • cd: cambia de directorio.
  • get bestand: descarga un archivo del servidor.
  • put bestand: sube un archivo al servidor.
  • exit: cierra la sesión de SFTP.

rsync para una sincronización eficiente

Rsync es una herramienta potente para sincronizar archivos y carpetas. Es eficiente porque solo copia los archivos que han cambiado:

rsync -avz -e "ssh -p 7777" ./lokaal/ user@server:/remote/

Agente SSH para gestionar las claves

Para no tener que introducir tu passphrase cada vez, puedes usar un agente SSH:

Iniciar el agente

Inicia el agente SSH con el siguiente comando:

eval "$(ssh-agent -s)"

Añadir la clave

Añade tu clave SSH al agente:

ssh-add ~/.ssh/id_ed25519

En macOS puedes guardar la clave en el Llavero para no tener que introducirla cada vez:

ssh-add --apple-use-keychain ~/.ssh/id_ed25519

Solución de problemas

Si tienes problemas al conectarte por SSH, estos son algunos mensajes de error habituales y sus soluciones:

Permission denied (publickey)

  • Comprueba que tu clave pública está bien instalada en el servidor.
  • Verifica los permisos del archivo de tu clave privada con:
  • chmod 600 ~/.ssh/id_ed25519

Connection refused

  • Comprueba que usas el puerto correcto.
  • Verifica que el servidor está accesible con una prueba de ping:
  • ping server

Host key verification failed

  • Puede significar que la clave del servidor ha cambiado, lo que podría indicar un problema de seguridad.
  • Si estás seguro de que el cambio es legítimo, puedes eliminar la clave antigua con:
  • ssh-keygen -R server

¿Necesitas ayuda?

Estamos a tu disposición. ¿Te has topado con algún problema o tienes preguntas? Nuestro equipo de soporte te ayuda personalmente. Envíanos un mensaje a través del sistema de tickets: solemos responder en unas pocas horas y buscamos la solución contigo.

¿Buscas hosting WordPress? Consulta nuestra oferta.