es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo ejecutar comandos de inicialización después de SSH en VS Code Remote?

Problema

Estoy tratando de conectarme al clúster informático de mi escuela (también conocido como un servidor Linux con “nodo de inicio de sesión” y “nodo de cómputo”) utilizando Remote SSH de VS Code, pero no puedo averiguar cómo ejecutar un comando después de hacer SSH.

Objetivo

Simplemente quiero ver código Python y probar algunas líneas pequeñas en un cuaderno Jupyter .ipynb en el entorno de la plataforma de cómputo.

Descripción

Básicamente, normalmente en la línea de comandos (o mobaXterm en una máquina Windows) de mi máquina local, primero inicio sesión en el nodo de inicio de sesión de la plataforma de cómputo con ssh -Y -L PUERTO:127.0.0.1:PUERTO usuario@ip_del_clúster_de_cómputo, y luego ejecuto srun -t 0-12:00 --pty -p gpu --gres=gpu:1 --x11 --tunnel PUERTO:PUERTO /bin/bash para iniciar sesión en el nodo de cómputo de forma interactiva (el comando mostrado permite el reenvío de puertos). El problema es que en VS Code solo puedo conectarme al nodo de inicio de sesión, pero después de eso no hay forma de ejecutar otro comando e iniciar sesión en el nodo de cómputo. La razón por la que necesito llegar al nodo de cómputo es porque quiero probar algo con un archivo .ipynb de forma interactiva en VS Code mientras leo el código, y el nodo de inicio de sesión no me permite realizar cálculos.

Tentativas fallidas

He estado intentando con Code-Server, pero no es compatible con .ipynb (me sigue pidiendo que instale jupyter notebook aunque ya lo tengo instalado en mi entorno conda), posiblemente porque reconoce por defecto el intérprete de Python del clúster HPC que no puedo modificar (ni siquiera puedo seleccionar el kernel de Jupyter en code-server). También intenté usar Jupyter Notebook directamente (abrir Jupyter con reenvío de puertos después de llegar al nodo de cómputo), pero leer código en él es mucho más incómodo.

Agradecería enormemente sus sugerencias.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Solución

    Para conectarse al nodo informático desde el nodo de inicio usando Remote SSH de VS Code, puedes seguir estos pasos:

    1. Abre VS Code e instala la extensión Remote Development.
    2. Abre el Panel de Comandos y selecciona “Remote-SSH: Connect to Host…”

    3. Ingresa el comando SSH para conectarte al nodo de inicio, utilizando el formato ssh nombreusuario@ip.nodo.inicio.

    4. Una vez conectado, abre una nueva terminal en VS Code seleccionando Terminal > New Terminal.

    5. En la nueva terminal, ejecuta el comando para conectarte al nodo informático, utilizando el formato ssh -Y -L PUERTO:127.0.0.1:PUERTO nombreusuario@ip.nodo.informatico. Este comando redirigirá el puerto a tu máquina local, permitiéndote utilizar Jupyter Notebook en el entorno informático.

    6. Ingresa tu contraseña si se te solicita.

    7. Una vez conectado al nodo informático, ejecuta el comando para iniciar Jupyter Notebook, utilizando el formato jupyter notebook --no-browser --port=PUERTO.

    8. En una nueva terminal en VS Code, ejecuta el comando para redirigir el puerto de Jupyter Notebook a tu máquina local, utilizando el formato ssh -N -f -L localhost:PUERTO_LOCAL:localhost:PUERTO nombreusuario@ip.nodo.informatico. Reemplaza PUERTO_LOCAL con el número de puerto que deseas utilizar localmente, y PUERTO con el número de puerto utilizado por Jupyter Notebook en el nodo informático.

    9. Abre un navegador web e ingresa la URL `http://localhost:PUERTO_LOCAL` para acceder a Jupyter Notebook en el entorno informático.

    10. Ahora puedes ver y editar código Python en Jupyter Notebook, y probar pequeñas líneas de código de forma interactiva. Cuando hayas terminado, simplemente cierra el navegador y finaliza las conexiones SSH en las terminales.

    Ten en cuenta que es posible que necesites instalar paquetes adicionales o configurar un entorno conda en el entorno informático para utilizar Jupyter Notebook con tu intérprete Python y kernel preferidos.

Comments are closed.