En la actualidad, la capacidad de acceder y utilizar un PC de escritorio de alto rendimiento de forma remota se ha vuelto esencial, especialmente para tareas intensivas como el Deep Learning. Este tutorial detalla cómo configurar y utilizar un escritorio remoto, combinando la portabilidad de un laptop con la potencia de un servidor, utilizando SSH, Jupyter Lab y VS Code.

Configuración del Servidor (J.A.R.V.I.S)

La idea principal es convertir tu PC de escritorio, en este caso llamado J.A.R.V.I.S, en un servidor remoto. Esto permite encenderlo solo cuando sea necesario y apagarlo de manera remota o programada. Para ello, utilizaremos SSH (Secure Shell), un protocolo de transferencia de datos seguro entre un cliente (tu laptop) y un servidor (J.A.R.V.I.S).

SSH facilita el envío de comandos desde el cliente al servidor, donde se ejecutan, aprovechando la mayor capacidad de procesamiento del servidor. Esto elimina la necesidad de desconectar periféricos, ya que todo se gestiona a través del terminal, Jupyter Lab o VS Code Remoto.

Instalación y Configuración de SSH en el Servidor

  1. Asegúrate de que SSH esté instalado en tu servidor (J.A.R.V.I.S). En Ubuntu, puedes instalarlo con el siguiente comando:
    sudo apt updatesudo apt install openssh-server
  2. Activa el servicio SSH para que se inicie automáticamente al encender el servidor:
    sudo systemctl enable ssh
  3. Verifica el estado de SSH:
    sudo systemctl status ssh

Al correr esto, SSH comenzará a correr de manera automática cada vez que J.A.R.V.I.S encienda.

Acceder al Servidor con Clave

Una de las mayores preocupaciones es cómo desbloquear el servidor si tiene clave. No es necesario desactivarla, ya que SSH permite la conexión incluso con una clave activa. Para encontrar la IP local del servidor, puedes usar el comando ifconfig o ip addr. En este caso la ip que arroja es: 192.168.0.59. Esto es sólo una IP local, para efectos de mostrar cómo obtener el valor. Esta es toda la configuración en el lado del Servidor.

Configuración en el Cliente

Ubuntu ya viene con un cliente SSH instalado, lo que simplifica la configuración en el lado del cliente.

  1. Abre la terminal en tu laptop.
  2. Conéctate al servidor usando el siguiente comando:
    ssh usuario@direccion_ip_del_servidor

La primera vez que te conectes, se te pedirá confirmar la conexión. Hay que poner yes sin miedo. Entonces cuando uno ingresa a ssh, se verá algo así (tapando el verdadero IP de mi servidor).

Dado que en ambas maquinas instalé Oh my ZSH y Powerline10k les dí una configuración distinta, por lo que inmediatamente se nota que cambié de ambiente. Además Powerline10k indica que ahora me conecté a J.A.R.V.I.S.

Integración con Jupyter Lab

Para acceder a Jupyter Lab en el servidor a través de SSH, es necesario configurar el SSH Tunneling o Port Forwarding. Esto permite acceder al localhost del servidor desde tu laptop.

  1. Inicia Jupyter Lab en el servidor:
    jupyter lab --port=8888
  2. Crea un túnel SSH desde tu laptop:
    ssh -N -f -L localhost:5678:localhost:8888 usuario@direccion_ip_del_servidor

Una vez habilitado el puerto, puedo dirigirme al localhost:5678 en mi Laptop y abrir Jupyter Lab. El tema es que para el primer inicio se solictará un Token y una clave. El token puede ser obtenido del URL generado al iniciar Jupyter Lab, y la clave se debe definir para futuros ingresos.

Alias y Funciones para Simplificar el Proceso

Para evitar recordar comandos largos, se pueden configurar alias y funciones en el archivo .bashrc o .zshrc tanto en el cliente como en el servidor.

Ejemplo de alias para conectarse al servidor:

alias jarvis='ssh usuario@direccion_ip_del_servidor'

Ejemplo de función para abrir Jupyter Lab:

function ojlab() { ssh -N -f -L localhost:5678:localhost:8888 usuario@direccion_ip_del_servidor && firefox localhost:5678}

En este caso setié jarvis para conectarme al servidor, y cree la función ojlab que me permite general el “tunneling” e inmediatamente abrir una pestaña nueva en firefox que inicia mi Jupyter Lab remoto.

Integración con VS Code

VS Code ofrece una integración más sencilla a través de la extensión Remote SSH. Una vez que SSH está configurado, la extensión permite abrir una nueva sesión de VS Code directamente en el servidor.

  1. Instala la extensión Remote SSH en VS Code.
  2. Presiona Ctrl+Shift+P y busca "Remote-SSH: Connect to Host...".
  3. Selecciona tu servidor y sigue las instrucciones.

Acceso Remoto Fuera de la Red Local

Si necesitas acceder a J.A.R.V.I.S desde fuera de tu red local, puedes utilizar Wake-on-LAN (WOL) para encender el servidor de forma remota. Además, herramientas como AnyDesk facilitan el acceso al escritorio remoto, ofreciendo soporte técnico y acceso a archivos.

AnyDesk para Soporte Remoto

En este tutorial queremos explicar como podemos utilizar el AnyDesk para soporte remoto. Es una herramienta de escritorio remoto patentada distribuida por AnyDesk Software GmbH. El programa de software facilita el acceso remoto a las computadoras personales que ejecutan la aplicación, que se puede instalar en Windows , macOS , Linux y FreeBSD . Procedemos la instalación del cliente. Luego hacemos clic en Ejecutar. Ya habiendo ejecutado el Programa de AnyDesk, este se abrirá automáticamente, sin la necesidad de instalar.

Consideraciones Adicionales para el Trabajo Remoto

El teletrabajo requiere ciertas condiciones para asegurar la productividad y el bienestar.

Condiciones Tecnológicas

  • Equipamiento necesario para acceder a archivos, páginas web y comunicaciones: idealmente computador personal o bien tablet o smartphone.
  • Conectividad a la red internet o en su defecto vía tráfico de datos del celular (que se puede compartir con tablet o PC).

Acceso a Archivos

Verificar que podrás tener acceso a los archivos que necesites en tu lugar de trabajo remoto. Esto se puede lograr:

  • Con un laptop que puedes llevar a lugar remoto.
  • Llevando los archivos en un disco duro externo o pendrive (esto generará una segunda versión de cada archivo modificado, con el riesgo de tener conflicto de versiones).
  • Compartiendo tus archivos en un disco duro virtual. Recomendamos utilizar el Google Drive provisto con el correo UDD, pero también se pueden utilizar opciones como Dropbox, One Drive u otro.

Acceso a Sistemas Internos

Verificar que podrás acceder en forma remota a los sistemas UDD que necesitarás utilizar ya que algunos requieren estar dentro de la red UDD a la que se puede acceder vía VPN (ej.

Espacio de Trabajo

El primer paso es escoger un lugar específico del hogar, de preferencia un único lugar, silencioso, tranquilo y con la debida privacidad. Se recomienda que no sea ni la cama ni la cocina. El lugar de trabajo debe ser idealmente un ambiente iluminado, ventilado y confortable. Aconsejamos adecuar este espacio para ser lo más agradable posible durante el período de trabajo remoto. Disponer de una silla confortable y una mesa que quede a una altura cómoda. Puede ser un escritorio o el comedor.

Rutina y Horarios

Mantener la rutina con los horarios. Levantarse y acostarse siempre a la misma hora. Idealmente no quedarse trabajando en pijamas. Esto ayudará a ser más productivo y replicar el sistema del trabajo presencial.

Mantener los mismos horarios de quiebre en la rutina tal como se realizarían en la UDD: almuerzo, café, pausas.

Hacer intervalos regulares para movimiento corporal. Informar a la familia que se estará trabajando en modalidad remota.

TAG: #Trabajar #Trabaja

Lea también: