SSH se puede utilizar junto con otras aplicaciones para hacer segura su comunicación o cómo un método de autenticación. Estos son algunos ejemplos.
Las sesiones de correo POP suelen ser inseguras. Al establecer la sesión el usuario y contraseña viajan en texto claro, así como el contenido del correo.
Si utilizamos ssh para establecer estas conexiones, la información viajará encriptada y lo mas importante, la autenticación también.
Para conseguirlo utilizaremos la redirección local de puertos para redirigir el puerto local 11110 al puerto 110 de nuestro servidor de pop.
[user1@localhost user1]$ssh -fN -L 11110:popserver:110 popserver |
[user1@localhost user1]$telnet localhost 11110 Trying 127.0.0.1... Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'. +OK Qpopper (version 4.0.3) at popserver starting. |
Mediante PPP y SSH es posible crear una red privada virtual (VPN) para crear un tunel entre dos hosts.
Los pasos pueden ser:
Crear un usuario "vpn" en la máquina que hará de servidor de tuneles.
Preparar la autenticación mediante claves entre el usuario del servidor y el del cliente, mediante el intercambio de clave pública.
Configurar el sudo en la máquina servidor para que el usuario "vpn" pueda ejecutar el demonio pppd.
[root@localhost root]# tail -2 /etc/sudoers ALL ALL= (root) NOPASSWD:/usr/local/bin/driftnet vpn ALL= (root) NOPASSWD: /usr/sbin/pppd |
Instalar en el cliente el script ppp-over-ssh que realizará la conexión con el usuario "vpn" en el servidor.
#!/bin/sh REMOTE_ACCOUNT=vpn@servidor.dominio.es REMOTE_PPPD="sudo /usr/sbin/pppd ipcp-accept-local ipcp-accept-remote noauth" LOCAL_PPPD="pppd silent 10.0.2.1:10.0.2.2" $LOCAL_PPPD pty "ssh -t $REMOTE_ACCOUNT $REMOTE_PPPD" |
En la máquina local ejecutamos el script. Este ejecuta un ssh contra la máquina remota para ejecutar el pppd que establecerá la conexión.
De esta manera se establece un canal seguro entre las dos máquinas utilizando una interfaz ppp. Esto permite utilizar los servicios de la máquina remota para todos los usuarios de la máquina local y también en el sentido inverso.
Otro de los programas que puede hacer uso del ssh es rysnc. Rsync permite mantener dos directorios de maquinas diferentes sincronizados. Su protocolo hace que se envíe únicamente las diferencias entre los archivos.
Para especificar que usamos ssh para conectar entre las dos máquinas usamos el parámetro -e:
rsync -e ssh -avpz directorio_local usuario@servidor.dominio.es:directorio_destino |