HowTo/SecureShell/es

Aus i2pwiki.mk16.de
Zur Navigation springen Zur Suche springen

<languages />

Introducción[Bearbeiten]

SSH puede usarse como un proxy cifrado, reenviando paquetes desde algún puerto especial de tu computadora hacia cualquier otro puerto, ordenador remoto o túnel cifrado. Esto es bueno si no tienes instalado I2P en tu computadora (o Tor/es o FreeNet), pero quieres tener anonimato y la seguridad que proveen esas redes.

  • computadora local <-A-> computadora remota <-B-> la red I2P

(el túnel A será cifrado con SSH, y el túnel B será cifrado por I2P. No hay ninguna parte que no esté bien cifrada.)

Ya que el enlace entre tu computadora y tu computadora remota será cifrado con SSH, nadie será capaz de decir qué estás haciendo en tu computadora remota a no ser que hayan comprometido cualquiera de las computadoras que participan en el túnel SSH. El caso ideal se da cuando las 2 computadoras son tuyas: Por ejemplo, La computadora remota es un ordenador de tu casa, y la computadora local es tu portátil.

/!\ Esto debería ser tan seguro (y algunas veces igual de anónimo), que usar una computadora conectada a la red I2P, pero sé cuidadoso y piénsalo una o 2 veces antes de usarlo.<ref>Escrito por You (you at i2pmail dot org)</ref>

Qué necesitas:

  • Una computadora local con un cliente ssh
  • Una computadora remota con un servidor ssh y un nodo I2P
  • Algún sistema derivado de unix, aunque en windows debería funcionar también

Ejemplos[Bearbeiten]

La gente aprende haciendo, por lo que...

Nota: En los siguientes ejemplos los servidores ssh envían el tráfico a 127.0.0.1 (al propio servidor) al puerto 4444(túnel http de I2P), 6668(túnel IRC de I2P), etc. Estos puertos están configurados por defecto en I2P, cámbialos en los comandos si los has cambiado en el rúter I2P. No importa qué puerto se use para el túnel, mientras sea mayor de 1023(recuerda que solo root puede abrir sockets en esos puertos) y no sea un puerto ya en uso. Puede hacerlo más fácil si usas los mismos puertos que usa I2P. Funciona así:

ssh -f -N -L [local_port]:host:host_port [user]@[remote_host]

Navegando por eepsites[Bearbeiten]

Para navegar por I2P, simplemente ejecuta…:

ssh -f -N -L 8080:127.0.0.1:4444 user@your-remote-i2p-computer.com

Te preguntará la contraseña del usuario en tu computadora remota con i2p. Pon la configuración del proxy de tu navegador local a localhost:8080, y entonces escribe una URL de una eepsite que quieras visitar.

IRC[Bearbeiten]

Puedes hacer casi lo que quieras con este túnel ssh. Si deseas hablar con la gente en el IRC, simplemente ejecuta:

ssh -f -N -L 9999:127.0.0.1:6668 user@your-remote-i2p-computer.com

Y conecta a 127.0.0.1:9999, y esta conexión será reenviada y cifrada a tu computadora remota con I2P, que la reenviará a algunos de los servidores IRC oficiales de I2P.

TOR[Bearbeiten]

Si deseas navegar el Internet ordinario (clearnet), I2P apesta, por eso la mayoría de nosotros usa Tor, por lo que ejecuta…:

ssh -f -N -L 8080:127.0.0.1:8118 user@your-remote-i2p-computer.com

Pon el proxy http a localhost:8080. Este sistema es mucho mejor que usar un proxy normal. (Por supuesto necesitas Tor para esto.)(En el ejemplo anterior se está usando privoxy junto con Tor. Es la configuración por defecto, y hay muchos documentos sobre ello en la web de Tor.)

Privoxy[Bearbeiten]

Si deseas enrutar todo a través de privoxy, sólo necesitas descargar privoxy en tu computadora remota y hacer estos cambios en el archivo de configuración:

# Esto envía TODAS las peticiones al proxy de Tor
forward-socks4a / localhost:9050 .
# Esto reenvía todas las peticiones de dominios I2P al proxy I2P local 
#sin peticiones DNS
forward .i2p localhost:4444
# Esto envía todas las peticiones de dominios Freenet al nodo Freenet local 
#sin peticiones DNS
forward ksk@ localhost:8888
forward ssk@ localhost:8888
forward chk@ localhost:8888
forward svk@ localhost:8888

Con esta configuración sólo necesitas configurar UN túnel a tu máquina remota, y manejará webs de i2p, tor y freenet como si estuviesen en tu pequeña red. Además privoxy eliminará todas las cabeceras y toda la información enviada por tu navegador, por lo que, incluso si usas IE, estarás anónimo. Privoxy escucha en el puerto 8118 por defecto, por lo que sólo abre un túnel SSH hacia ese puerto. Ver el ejemplo anterior.

(Copiado del foro. ¡Gracias a Romster y sirup! Ver http://forum.i2p/viewtopic.php?t=218)

Usando Windows[Bearbeiten]

He probado esto en una computadora con windows hacia la computadora de mi casa, que usa linux. El mejor cliente es probablemente plink. Busca por PuTTY y descarga plink de su web. Abre la terminal de comandos y ejecuta algo como esto...:

plink -N -L 8080:127.0.0.1:8118 user@your-remote-i2p-computer.com

Por alguna razón, plink (¿o windows?) no permiten a plink funcionar en segundo plano, por lo que si cierras la terminal el enlace también desaparecerá

Esto también ocurre en linux. La terminal es el proceso padre, y cuando cierras el proceso padre, el hijo muere. ¡Si no quieres que esto ocurra, elije un mejor 'padre'! En vez de ejecutar en la consola, usa el diálogo gráfico para ejecutar aplicaciones (alt+F2 normalmente).

Explicación[Bearbeiten]

ssh -f -N -L local_port:destination:dest_port user@relay-computer
  • -f = se pone en segundo plano después de escribir la contraseña
  • -N = no ejecuta ningún comando, en vez de eso....
  • -L = envía los paquetes desde local_port <-A-> relay-computer <-B-> destination:dest_port

o RTFM. (Lee El Maldito Manual LEMM) Tip':Si eres muy paranoico, usa varios -L's, y SSH enviará varias conexiones en un túnel, haciendo un poco más difícil que la gente pueda analizar tu transmisión.

-- Escrito por You(you at i2pmail dot org)

SSH sobre I2P o cómo tunelar un túnel[Bearbeiten]

Configurar los túneles en los 2 finales[Bearbeiten]

Describiré en cortos pasos cómo rutar un túnel SSH a través de la red I2P. Quizás el cifrado extra de SSH no sea necesario. Lo que tiene de bueno: ocultará que se hace una conexión SSH a un servidor remoto y también desde donde se originó, al ser enviado a través de I2P

Puede ser muy útil para administrar una computadora de forma remota anónimamente. Además no tienes que abrir el puerto SSH a todo el Internet.

Por supuesto, la calidad y la fiabilidad de la conexiones dependerá de varios factores. Experimenta con valores como la cantidad de túneles, túneles de respaldo, para estas conexiones. Si no es posible una conexión estable, puede ser que un "terminal multiplexer" como screen o Byoby puedan ayudarte.

Quizás no es la mejor solución, pero funciona:

  1. En el cliente y el servidor, abre la consola de I2P, ves a 'Servicios ocultos' y crea los túneles con el wizard.
  2. En el servidor añade un 'Túnel servidor normal' en localhost:SHPORT (por ejemplo "localhost:9922")
  3. En el cliente añade un 'Túnel cliente normal' en localhost:SSHPORT (por ejemplo "localhost:9922")
  4. copia la "Local Destination Key" (clave de destino local) del túnel servidor hasta dentro del campo Destinación del túnel o 'Tunnel Destination'.
  5. Enciende ambos túneles e intenta conectar con un cliente ssh:
ssh -p9922 username@127.0.0.1

Más pasos recomendados:

  1. Si ssh no necesita conexiones entrantes desde la LAN o la clearnet, configúralo para escuchar sólo en el interfaz local, 127.0.0.1 .
  2. Aplica las medidas usuales de seguridad para ssh:
    1. Cambia el método de autenticación de contraseña a clave pública u OTP.
    2. Deshabilita el acceso a root por ssh y configura sudo si es necesario.
    3. Añade seguridad configurando fail2ban.

¡¡Conoce el riesgo de tener un servidor ssh inseguro!!

Porque por supuesto, la clave de destino de tu túnel reenviado al servidor ssh se publica en los datos del floodfill. (¿es esto cierto?)

Puedes usar un leaseset cifrado y protegerte de intentos de acceso a ssh indeseados. (¿Cómo es esto de seguro?)

Usando herramientas para la transferencia de archivos sobre ssh[Bearbeiten]

Con una conexión de ssh sobre I2P con los túneles ya establecidos, es también posible usar la mayoría de herramientas/clientes habituales que usan ssh para la transferencia de archivos y sincronización.

todo: ejemplo con sftp

lee y entiende el manual de rsync!! Para copiar desde el servidor al cliente, ejecuta en el cliente:

rsync -e='ssh -p 9922' user@localhost:"/mnt/dir/at/server" "/mnt/dir/at/client"

Referencias[Bearbeiten]

<references />