Volver a todos los artículos

Cómo acceder a archivos remotos localmente con AnyDesk utilizando un túnel TCP


Montar carpetas remotas localmente con un túnel TCP de AnyDesk

Para un desarrollador de software, el trabajo remoto puede ser un desafío. Al acceder al código fuente localmente se puede conseguir que las cosas se hagan de una forma más rápida y cómoda. Con AnyDesk puedes establecer una conexión de túnel TCP que te permita acceder a los archivos de un dispositivo remoto localmente sin tener que descargarlos en tu equipo local.

En este artículo te enseñaré a montar una carpeta remota localmente utilizando el túnel TCP con AnyDesk para Linux pero también está disponible para dispositivos Windows y macOS. Esta solución es mucho más eficiente en cuanto a CPU y tráfico que el clásico acceso a escritorio remoto.

Configurar una conexión de túnel directa con SSH

La conexión a través de SSH, como cualquier otra conexión TCP, solo es posible cuando el host al que te conectas es visible desde el ordenador local. Esto sucede, por ejemplo, si el host se encuentra en la misma red local o tiene una dirección IP externa. Normalmente, este no es el caso cuando te conectas al ordenador de tu oficina desde casa.

Con AnyDesk, sin embargo, uno puede conectarse a cualquier ordenador independientemente de cualquier cortafuegos o NAT. Utilizando la función de túnel TCP de AnyDesk, puedes establecer un túnel hacia el ordenador remoto y utilizar SSH casi como si los dos ordenadores estuvieran en la misma red. Para ello, abre la configuración del túnel TCP desde el menú contextual del mosaico de direcciones:

Menú contextual en Sesiones recientes

En el cuadro de diálogo, verás la configuración de los túneles directos e inversos. Para nuestro objetivo, seleccionamos los túneles directos. Para reenviar el puerto SSH necesitamos añadir una regla en la ventana de configuración:

Configuración de túneles TCP

En el ejemplo anterior, estamos reenviando el puerto TCP 22 del equipo remoto (el puerto remoto utilizado por SSH) al puerto local 2222. El número de puerto exacto no importa, utilizamos 2222 como ejemplo en este caso.

Este túnel se activará en cuánto te conectes al ID de AnyDesk correspondiente. El tipo de conexión no importa, el túnel funcionará tanto en modo normal como en modo de transferencia de archivos. Yo utilizo el modo de transferencia de archivos para ahorrar tráfico y tiempo de CPU.

Probando la conexión SSH

Ahora, después de haber creado la regla de túnel y haberte conectado al lado remoto, es el momento de probar la conexión SSH. Ejecuta en tu terminal lo siguiente:

ssh -p 2222 <nombre de usuario>@localhost

Sustitúyelo por el <nombre de usuario> de tu ordenador de oficina. Si has hecho todo correctamente, se te pedirá la contraseña en el equipo remoto. Después de verificar el acceso, puedes cerrar el shell remoto, ya que no será necesario.

El siguiente paso será copiar tus claves SSH locales al ordenador de oficina, para que el equipo de la oficina te permita acceder sin contraseña. Genera tus claves SSH si aún no lo has hecho con el siguiente comando:

ssh-keygen

Ahora copia las claves al equipo remoto:

ssh-copy-id -p 2222 <nombre de usuario>@localhost

Después de este paso deberías poder conectarte a SSH sin contraseña.

Listo para acceder a la carpeta remota

Una vez realizada la configuración inicial, vamos a configurar el entorno de trabajo. El truco aquí se encuentra en montar la carpeta remota localmente utilizando SSHFS. Si no tienes instalado SSHFS, se puede hacer simplemente en las distribuciones basadas en DEB a través de apt:

sudo apt install sshfs

Ahora crea una carpeta local donde quieras que se monte tu carpeta remota. Recomiendo que ambas carpetas tengan exactamente la misma ruta. En este ejemplo vamos a suponer que tu carpeta de trabajo es:

/inicio/johndoe/trabajo

Ahora vamos a montarla localmente:

sshfs -p 2222 johndoe@localhost:/inicio/johndoe/trabajo /inicio/johndoe/trabajo

Si todo se ha configurado correctamente, ahora tendrás tus archivos remotos montados localmente. No te olvides de que necesitas una conexión activa de AnyDesk para que el túnel TCP funcione. Después de cerrar la conexión de AnyDesk, la carpeta se desmontará al instante.

Automatización de comandos

Hasta ahora teníamos que ejecutar los comandos a mano para acceder a los datos remotos. AnyDesk permite automatizar este proceso. Como antes, abre la configuración del túnel TCP desde el menú contextual. En la parte inferior del diálogo, verás la casilla de verificación: Ejecutar un script personalizado. Marca la casilla y el script se ejecutará localmente cada vez que se establezcan los túneles TCP. Vamos a crear un script para montar automáticamente nuestra carpeta de trabajo.

Configuración del script de túnel TCP

Ahora haz clic en Guardar y conectar. La carpeta debería montarse automáticamente después de conectarte y desmontarse al desconectarse. Tu IDE o editor de texto favorito trabajará con la carpeta montada sin problemas.

Existen muchas más posibilidades de automatización. Puedes, por ejemplo, añadir una línea al script para abrir el shell remoto automáticamente. Yo utilizo Terminator como emulador de terminal favorito. Allí puedes crear un perfil personalizado que abrirá un shell remoto al iniciarse:

Emulador de terminal Terminator

Solo tienes que añadir el siguiente comando al script y tendrás tu shell remoto en cuánto te conectes:

terminator -p remote

Acceso a los recursos web internos

Por lo general, es necesario acceder a algunos recursos web internos, por ejemplo, a los rastreadores de problemas, que solo están disponibles directamente desde la oficina. Con SSH se puede configurar fácilmente un proxy SOCKS5:

ssh -D 7000 -N -p 2222 johndoe@localhost

El proxy estará activo en el puerto 7000 de localhost. Si añades esta línea al script del túnel TCP de AnyDesk, el proxy se configurará automáticamente. Para utilizarlo, recomiendo la extensión del navegador FoxyProxy para tener una configuración personalizada del proxy dependiendo de los patrones de URL.

Conclusión

Como alternativa al clásico acceso a escritorio remoto, puedes utilizar AnyDesk para Linux para acceder a archivos remotos localmente montándolos con SSHFS. Esto facilita enormemente el trabajo remoto, especialmente si necesitas trabajar en archivos remotos o códigos fuente localmente.

AnyDesk para Linux es fácil de usar y establece conexiones continuas con cualquier sistema operativo. Nuestro software de escritorio remoto funciona con una gran variedad de distribuciones de Linux como Ubuntu, Red Hat y openSUSE. Las actualizaciones son siempre gratuitas, sea cual sea el tipo de licencia que tegas.

¿Te interesa empezar a utilizar AnyDesk para Linux? Elige ahora tu distribución de Linux y sigue el gestor de paquetes para una instalación rápida y sencilla.

Inscríbete para tener acceso a noticias, consejos y más