Cómo configurar SSH seguro a través de Tor

Cómo configurar SSH seguro a través de Tor (.onion) usando llaves públicas

Los servicios ocultos de Tor permiten acceder a un servidor sin exponer directamente su dirección IP pública. Combinados con SSH y autenticación por llaves, ofrecen una capa adicional de privacidad y seguridad para la administración remota.

¿Cómo funciona SSH?

SSH utiliza dos archivos:

Llave privada

Se queda en tu computadora:

~/.ssh/id_ed25519

Nunca debe compartirse.

Llave pública

Se copia al servidor:

~/.ssh/id_ed25519.pub

Puede compartirse libremente.

Cuando te conectas, el servidor verifica que posees la llave privada correspondiente a la llave pública autorizada.


¿Qué es SSH sobre Tor?

Normalmente te conectas a un servidor así:

ssh usuario@192.168.1.100

o

ssh usuario@midominio.com

Con Tor, el servidor dispone de una dirección especial:

ejemplo123456789abcdef123456789abcdef123456789abcdef1234.onion

Y la conexión se realiza mediante la red Tor:

torsocks ssh usuario@ejemplo123456789abcdef123456789abcdef123456789abcdef1234.onion

Ventajas de SSH mediante Tor

✅ No expones la IP pública del servidor.

✅ El servidor puede permanecer oculto.

✅ El acceso puede limitarse exclusivamente a la red Tor.

✅ Compatible con autenticación por llaves SSH.


Requisitos

Servidor Linux con:

  • OpenSSH Server
  • Tor instalado

Cliente Linux con:

  • OpenSSH
  • Tor
  • torsocks

Instalación:

sudo apt install tor torsocks

Configurar el servicio oculto

Editar:

sudo nano /etc/tor/torrc

Agregar:

HiddenServiceDir /var/lib/tor/ssh/
HiddenServicePort 22 127.0.0.1:22

Reiniciar Tor:

sudo systemctl restart tor

Obtener la dirección onion:

sudo cat /var/lib/tor/ssh/hostname

Resultado:

ejemplo123456789abcdef123456789abcdef123456789abcdef1234.onion

Crear una llave SSH

En tu computadora ejecuta:

ssh-keygen -t ed25519

Verás:

Generating public/private ed25519 key pair.
Enter file in which to save the key:

Presiona Enter para aceptar la ubicación predeterminada:

/home/usuario/.ssh/id_ed25519

Después puedes:

  • Establecer una passphrase (recomendado)
  • O dejarla vacía para mayor comodidad

Verificar los archivos creados

ls -la ~/.ssh

Deberías ver algo parecido a:

id_ed25519
id_ed25519.pub

Copiar la llave pública al servidor onion

Utilizando torsocks:

torsocks ssh-copy-id usuario@ejemplo123456789abcdef123456789abcdef123456789abcdef1234.onion

Introduce la contraseña actual del usuario.


Probar la conexión

torsocks ssh usuario@ejemplo123456789abcdef123456789abcdef123456789abcdef1234.onion

Si todo está correcto accederás mediante la llave SSH.


Desactivar contraseñas

Editar:

sudo nano /etc/ssh/sshd_config

Agregar y pega al final:

PermitRootLogin no
PubkeyAuthentication yes
PasswordAuthentication no
KbdInteractiveAuthentication no
PermitEmptyPasswords no

Comprobar si no sale ningún error todo salio bien:

sudo sshd -t

Reiniciar:

sudo systemctl restart ssh

Hacer que SSH solo sea accesible mediante Tor

Para impedir accesos por red convencional:

Editar:

sudo nano /etc/ssh/sshd_config

Agregar:

ListenAddress 127.0.0.1

Reiniciar:

sudo systemctl restart ssh

Ahora SSH solo escuchará localmente y será accesible mediante el servicio onion configurado.


¿Una sola llave para todos los servidores onion?

Sí.

Puedes reutilizar la misma llave:

id_ed25519
id_ed25519.pub

en múltiples servidores.


¿Una llave diferente para cada servidor onion?

También es recomendable para entornos sensibles.

Ejemplo:

ssh-keygen -t ed25519 -f ~/.ssh/onion_admin

Conexión:

torsocks ssh -i ~/.ssh/onion_admin usuario@ejemplo123456789abcdef123456789abcdef123456789abcdef1234.onion

Esto permite aislar accesos y revocar credenciales individualmente.


SSH sobre Tor proporciona una forma privada de administrar servidores sin exponer direcciones IP públicas. Al combinarlo con autenticación mediante llaves públicas y deshabilitar el acceso por contraseña, se obtiene una configuración robusta, ampliamente utilizada en servidores personales, laboratorios y servicios que requieren un mayor nivel de privacidad.

Deja un comentario