Hace unos días, Tavis escribió un gran artículo sobre Cómo usar SSH X-forwarding para ejecutar aplicaciones remotas. El reenvío de X es una característica muy útil de SSH, así que pensé que sería un buen momento para ampliar algunos de los otros grandes usos de esta excelente pieza de software (y algunas herramientas relacionadas). Hoy, cubriremos SCP y SSHFS.

Para seguir esta guía, necesitarás lo siguiente:

– Ordenador cliente con openssh-client instalado (para Windows, utilice Putty)
– Ordenador servidor con openssh-server instalado (Disponible en cualquier sistema tipo UNIX)
– Un conjunto de credenciales de inicio de sesión en el servidor

Si no tienes un ordenador con un servidor SSH, puedes usar el mismo PC como cliente y servidor para probar todo esto. Si tienes un ordenador (Linux, Unix, BSD) disponible para actuar como servidor, asegúrate de instalar el software de servidor OpenSSH. Los usuarios de Debian y Ubuntu pueden conseguirlo fácilmente con

sudoapt-get install openssh-server

1. Usar SSH para copiar archivos de forma segura

Este es mi segundo uso favorito de SSH. Cuando instalas el cliente OpenSSH en tu máquina, normalmente viene con una herramienta de copia de archivos llamada SCP(Secure Copy). Esto puede ser MUY útil como una manera no sólo de enviar archivos a tus amigos (que tienen openssh-servidor corriendo) sino de hacerlo de una manera completamente encriptada.

Por ejemplo, un amigo mío en Michigan es un ingeniero de estudio. Mezcla pistas de audio para un estudio de grabación. A veces, cuando quiere una segunda opinión, me envía lo que está trabajando para que yo le dé mi opinión. Ahora bien, como se trata de música con derechos de autor que ni siquiera se ha hecho pública, es naturalmente reacio a publicarla en un servicio de intercambio de archivos o en un sitio web, y los archivos suelen ser demasiado grandes para enviarlos por correo electrónico. En su lugar, se transfieren utilizando SCP.

El formato de un comando scp es

scp nombre-archivo usuario@remote-host:/donde/para/guardar/it

Así que mi amigo, al otro lado del país, introduciría algo como

scp MiNuevaMezcla.wav nick@joshs-computer.com:/home/nick/mixes

Este ejemplo supone que mi ordenador es accesible desde joshs-computer.com y que él tiene una cuenta de usuario llamada nick. Su archivo se copiará a mi ordenador a través de una conexión totalmente encriptada sin tener que ser almacenado en algún sitio web o servidor de correo electrónico de terceros.

2. Montar una unidad de red de forma segura

Ahora aquí está mi uso favorito #1 de SSH. Si eres un usuario de Linux, probablemente estés familiarizado con el montaje de unidades. Tienes un dispositivo como una unidad de cdrom (digamos, /dev/hdc por ejemplo), y para acceder a él, lo montas en un directorio como /media/cdrom. Pues bien, puedes utilizar ese mismo principio con un programa llamado SSHFS para montar un sistema de archivos a través de una red/internet y adjuntarlo a un directorio de tu ordenador.

SSHFS no es parte del paquete estándar de openssh. Es un programa desarrollado por separado que instalarás de forma independiente utilizando tu gestor de paquetes habitual.

Volvamos al ejemplo de mi amigo en el estudio. Tal vez tenga varias mezclas nuevas para mí en lugar de una sola, o tal vez lo hagamos tan a menudo que el uso de SCP para transferir de un lado a otro empieza a ser una molestia. Bien, si él tiene instalado openssh-server y yo tengo una cuenta en su ordenador, puedo montar su disco duro en cualquier directorio que desee. El comando sigue la estructura

sshfs user@remote-host:/what/I/want /where/to/put/it

Así que para conectarme al ordenador de Nick usaría algo como

sshfs josh@nicks-computer.com:/home/nick/mixes /home/josh/nicks-computer

Eso haría que cada vez que acceda a la carpeta /home/josh/nicks-computer desde mi máquina, en realidad se conectaría a la computadora de Nick a través de SSH y me daría acceso a todos esos archivos como si estuvieran en un directorio normal en mi computadora. Cualquier cambio que yo haga se hace en los archivos de su ordenador, es completamente transparente. Puedo usar cualquier software de audio que me guste para trabajar con los archivos, ellos son completamente ajenos al hecho de que realmente están leyendo el archivo desde 2500 millas de distancia.

Una palabra de advertencia sobre SSHFS: ya que está leyendo los archivos a través de Internet en lugar de localmente, combinado con la sobrecarga de cifrado, SSHFS puede ser LENTO

. Probablemente no quieras usarlo para acceder a archivos que necesiten mucha velocidad o que estén siendo leídos o escritos constantemente.

Hay muchos usos excelentes para SSH y las herramientas relacionadas. Me encantaría saber qué otros trucos tienes. La creación de túneles SSH, por ejemplo, puede ser enormemente beneficiosa para algunas personas, pero hacer justicia a esta práctica requeriría un artículo propio. ¿Tienes algún otro consejo para sacar el máximo partido a SSH?

¿