{"id":25597,"date":"2026-09-14T13:21:43","date_gmt":"2026-09-14T19:21:43","guid":{"rendered":"https:\/\/sada.services\/?p=25597"},"modified":"2026-09-22T09:06:13","modified_gmt":"2026-09-22T15:06:13","slug":"hpc-3-1-configurar-ssh-fs-en-vs-code","status":"publish","type":"post","link":"https:\/\/sada.services\/?p=25597","title":{"rendered":"HPC 3.1: Configurar SSH FS en VS Code"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Esta gu\u00eda te ayuda a la configuracion del cl\u00faster <strong>Helix<\/strong> (nodo de login <code>cicima-hpc<\/code>) mediante la extensi\u00f3n <strong>SSH FS<\/strong> de visual code.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfPor qu\u00e9 SSH FS y no Remote-SSH?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">VS Code tiene dos formas de trabajar remoto:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><\/th><th><strong>SSH FS<\/strong> (recomendado en Helix)<\/th><th><strong>Remote-SSH<\/strong> (no recomendado)<\/th><\/tr><\/thead><tbody><tr><td>D\u00f3nde corre VS Code<\/td><td>En tu m\u00e1quina local<\/td><td>Instala un servidor completo en el HPC<\/td><\/tr><tr><td>Uso de disco en el HPC<\/td><td>~0 (solo lee archivos por SFTP)<\/td><td>300 MB \u2013 1 GB por usuario en <code>$HOME<\/code><\/td><\/tr><tr><td>Proceso corriendo en el nodo de login<\/td><td>Ninguno<\/td><td>Un <code>node<\/code> residente mientras est\u00e9s conectado<\/td><\/tr><tr><td>Terminal integrada<\/td><td>Local<\/td><td>Remota<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Los administradores de Helix <strong>piden usar SSH FS<\/strong> para no llenar el <code>$HOME<\/code> compartido con carpetas <code>.vscode-server<\/code> que crecen sin control. Esta gu\u00eda sigue esa recomendaci\u00f3n.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Prerrequisitos<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Antes de empezar debes tener:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>VS Code instalado.<\/li>\n\n\n\n<li>Cuenta activa en el cl\u00faster Helix.<\/li>\n\n\n\n<li>Una llave SSH generada (t\u00edpicamente en <code>~\/.ssh\/una_tavo_ed25519<\/code> o similar).<\/li>\n\n\n\n<li>La llave p\u00fablica ya cargada en el servidor (<code>ssh-copy-id<\/code> o pegada en <code>~\/.ssh\/authorized_keys<\/code> del HPC).<\/li>\n\n\n\n<li>Preferiblemente <code>keychain<\/code> instalado y configurado para no tipear passphrase en cada conexi\u00f3n.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Paso 1 \u2014 Verificar que SSH funciona desde terminal<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Antes de configurar VS Code, confirma que puedes entrar al cl\u00faster desde la l\u00ednea de comandos. Si esto no funciona, tampoco va a funcionar en VS Code.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Abre una terminal y ejecuta:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">bash<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh hpc<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Si tienes el alias configurado en <code>~\/.ssh\/config<\/code>, esto deber\u00eda entrar directo sin pedir contrase\u00f1a.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Si no tienes el alias<\/strong>, prueba con usuario + IP directo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh gustavo.matamoros.gonzalez@10.10.132.5<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Paso 2 \u2014 Configurar <code>~\/.ssh\/config<\/code> con un alias corto<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Para no repetir usuario + host + llave en cada comando, define un alias en tu configuraci\u00f3n SSH local.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Abre (o crea) el archivo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nano ~\/.ssh\/config<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Agrega el siguiente bloque:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ajusta:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>La IP en <code>HostName<\/code>  (ssh hpc \u00abhostname -I\u00bb)<\/li>\n\n\n\n<li>Tu usuario en <code>User<\/code>.<\/li>\n\n\n\n<li>El path de tu llave privada en <code>IdentityFile<\/code>.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>Host hpc\n    HostName 10.10.132.5\n    User gustavo.matamoros.gonzalez\n    IdentityFile ~\/.ssh\/una_tavo_ed25519\n    IdentitiesOnly yes\n    ServerAliveInterval 60\n    ServerAliveCountMax 3\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Importante \u2014 mant\u00e9n el nombre <code>cicima-hpc<\/code>.<\/strong> Los archivos <code>tasks.json<\/code> que crearemos despu\u00e9s referencian ese nombre exacto. Si le pones otro, tendr\u00e1s que cambiarlo en cada tarea.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ajusta los permisos:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>chmod 600 ~\/.ssh\/config\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Prueba con el alias:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh hpc<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Si entra directo, est\u00e1s listo para instalar la extensi\u00f3n.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Paso 3 \u2014 Instalar la extensi\u00f3n SSH FS<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Abre VS Code.<\/li>\n\n\n\n<li>Pulsa <code>Ctrl+Shift+X<\/code> para abrir el panel de extensiones.<\/li>\n\n\n\n<li>En el buscador, escribe: <strong>SSH FS<\/strong><\/li>\n\n\n\n<li>Instala la que dice <strong>\u00abSSH FS\u00bb<\/strong> de <strong>Kelvin Schoofs<\/strong> (ID: <code>Kelvin.vscode-sshfs<\/code>).<\/li>\n\n\n\n<li>Espera a que termine la instalaci\u00f3n. No necesitas reiniciar VS Code.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"534\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-30-1024x534.png\" alt=\"\" class=\"wp-image-25599\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-30-1024x534.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-30-300x156.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-30-767x400.png 767w, https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-30.png 1379w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Al instalar, aparece un \u00edcono nuevo en la barra lateral izquierda: parece un servidor con un enchufe. Ese es el panel de SSH FS.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"782\" height=\"533\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-31.png\" alt=\"\" class=\"wp-image-25601\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-31.png 782w, https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-31-300x204.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-31-767x523.png 767w\" sizes=\"(max-width: 782px) 100vw, 782px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Paso 4 \u2014 Crear la configuraci\u00f3n de conexi\u00f3n en SSH FS<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Click en el \u00edcono de SSH FS en la barra lateral izquierda. Si no lo ves, presiona <code>Ctrl+Shift+P<\/code> y busca <strong>\u00abSSH FS: Focus on Configurations View\u00bb<\/strong>.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"306\" height=\"430\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-32.png\" alt=\"\" class=\"wp-image-25602\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-32.png 306w, https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-32-213x300.png 213w\" sizes=\"(max-width: 306px) 100vw, 306px\" \/><\/figure>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Ver\u00e1s una secci\u00f3n <strong>CONFIGURATIONS<\/strong> con un bot\u00f3n <code>+<\/code> (Add configuration). Click en el <code>+<\/code>.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"594\" height=\"377\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-33.png\" alt=\"\" class=\"wp-image-25603\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-33.png 594w, https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-33-300x190.png 300w\" sizes=\"(max-width: 594px) 100vw, 594px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Se abre un editor con el nombre de la configuraci\u00f3n.\n<ol class=\"wp-block-list\">\n<li>Name: <code>hpc<\/code> (\u26a0\ufe0f <strong>Importante<\/strong>: este nombre lo usar\u00e1n despu\u00e9s las tareas del <code>tasks.json<\/code>. lige uno corto y recu\u00e9rdalo. En esta gu\u00eda usamos <code>hpc<\/code>. Solo permite: min\u00fasculas, n\u00fameros, <code>_.+-<\/code>.)<\/li>\n\n\n\n<li>Location \u00abGlobal settings.json\u00bb (para que la config est\u00e9 disponible en cualquier ventana de VS Code).<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"407\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-34-1024x407.png\" alt=\"\" class=\"wp-image-25604\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-34-1024x407.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-34-300x119.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-34-768x305.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-34.png 1128w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">4.2 \u2014 Editar los detalles de la conexi\u00f3n<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Al guardar, se abre un formulario grande con muchos campos. Rellena los siguientes:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Secci\u00f3n superior:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Name<\/strong>: <code>hpc<\/code> <\/li>\n\n\n\n<li><strong>Label<\/strong>: <code>HPC Helix<\/code><\/li>\n\n\n\n<li><strong>Group<\/strong>, <strong>Merge<\/strong>, <strong>Extend<\/strong>, <strong>PuTTY<\/strong>: d\u00e9jalos vac\u00edos\/default.<\/li>\n\n\n\n<li><strong>Host<\/strong>: <code>10.10.132.5<\/code> (\u26a0\ufe0f NO pongas aqu\u00ed el alias hpc. SSH FS no siempre resuelve alias del ~\/.ssh\/config como bash lo hace. Si pones hpc, obtienes error getaddrinfo ENOTFOUND hpc. Usa el hostname o IP real.)<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"792\" height=\"862\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-42.png\" alt=\"\" class=\"wp-image-25612\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-42.png 792w, https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-42-276x300.png 276w, https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-42-767x835.png 767w\" sizes=\"(max-width: 792px) 100vw, 792px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"585\" height=\"96\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-36.png\" alt=\"\" class=\"wp-image-25606\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-36.png 585w, https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-36-300x49.png 300w\" sizes=\"(max-width: 585px) 100vw, 585px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><ul><li><strong>Private key<\/strong> (Path): <code>~\/.ssh\/una_tavo_ed25519<\/code><\/li><\/ul><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"844\" height=\"100\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-37.png\" alt=\"\" class=\"wp-image-25607\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-37.png 844w, https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-37-300x36.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-37-760x90.png 760w\" sizes=\"(max-width: 844px) 100vw, 844px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><ul><li><strong>Agent<\/strong>: si usas keychain o ssh-agent, activa esta casilla y puedes dejar el private key vac\u00edo.<\/li><\/ul><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"802\" height=\"118\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-38.png\" alt=\"\" class=\"wp-image-25608\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-38.png 802w, https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-38-300x44.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-38-761x112.png 761w\" sizes=\"(max-width: 802px) 100vw, 802px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Root<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"785\" height=\"105\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-39.png\" alt=\"\" class=\"wp-image-25609\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-39.png 785w, https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-39-300x40.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-39-763x102.png 763w\" sizes=\"(max-width: 785px) 100vw, 785px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Paso 5 \u2014 Conectar al servidor<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Hay dos formas equivalentes:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Forma 1 \u2014 Desde el panel de SSH FS:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Click derecho sobre <code>hpc<\/code> en la lista.<\/li>\n\n\n\n<li>Elige <strong>\u00abAdd as Workspace folder\u00bb<\/strong>.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"409\" height=\"150\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-40.png\" alt=\"\" class=\"wp-image-25610\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-40.png 409w, https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-40-300x110.png 300w\" sizes=\"(max-width: 409px) 100vw, 409px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Forma 2 \u2014 Con la paleta de comandos:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><code>Ctrl+Shift+P<\/code> \u2192 escribe: <strong>SSH FS: Add as Workspace folder<\/strong><\/li>\n\n\n\n<li>Elige <code>cicima-hpc<\/code> de la lista.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"344\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-41-1024x344.png\" alt=\"\" class=\"wp-image-25611\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-41-1024x344.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-41-300x101.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-41-765x257.png 765w, https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-41.png 1367w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">VS Code te va a preguntar si conf\u00edas en el workspace. Elige <strong>\u00abYes, I trust the authors\u00bb<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En unos segundos deber\u00edas ver tu carpeta home del HPC aparecer en el explorador de VS Code, como si fuera una carpeta local. Puedes navegar, abrir archivos, editar, guardar, y todo va directo al servidor por SFTP.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"974\" height=\"528\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-43.png\" alt=\"\" class=\"wp-image-25613\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-43.png 974w, https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-43-300x163.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-43-767x416.png 767w\" sizes=\"(max-width: 974px) 100vw, 974px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Verificaci\u00f3n r\u00e1pida:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Abre cualquier archivo del HPC.<\/li>\n\n\n\n<li>Cambia una l\u00ednea, guarda (<code>Ctrl+S<\/code>).<\/li>\n\n\n\n<li>Vuelve a abrirlo desde una terminal SSH (<code>cat archivo<\/code>) y confirma que el cambio se guard\u00f3.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Paso 6 \u2014 Crear la configuraci\u00f3n <code>.vscode\/<\/code> con las tareas<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Para poder compilar y ejecutar c\u00f3digo remotamente sin salir de VS Code, creamos dos archivos de configuraci\u00f3n dentro de una carpeta <code>.vscode<\/code> en la ra\u00edz del workspace remoto.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">6.1 \u2014 Crear la carpeta<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">En el explorador de VS Code:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Click derecho sobre la ra\u00edz del workspace remoto.<\/li>\n\n\n\n<li>Elige <strong>\u00abNew Folder\u00bb<\/strong> \u2192 nombre: <code>.vscode<\/code><\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"506\" height=\"185\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-44.png\" alt=\"\" class=\"wp-image-25614\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-44.png 506w, https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-44-300x110.png 300w\" sizes=\"(max-width: 506px) 100vw, 506px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"409\" height=\"409\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-45.png\" alt=\"\" class=\"wp-image-25615\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-45.png 409w, https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-45-150x150.png 150w, https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-45-300x300.png 300w\" sizes=\"(max-width: 409px) 100vw, 409px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">6.2 \u2014 Crear <code>c_cpp_properties.json<\/code><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Este archivo le dice a IntelliSense d\u00f3nde encontrar los compiladores y headers de MPI en el cl\u00faster.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dentro de <code>.vscode\/<\/code>, crea un archivo llamado <code>c_cpp_properties.json<\/code> con este contenido:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"configurations\": &#91;\n        {\n            \"name\": \"HPC OpenMPI\",\n            \"compilerPath\": \"\/opt\/openmpi\/4.0.4_gnu\/bin\/mpicxx\",\n            \"includePath\": &#91;\n                \"${workspaceFolder}\/**\"\n            ],\n            \"cStandard\": \"c11\",\n            \"cppStandard\": \"c++17\",\n            \"intelliSenseMode\": \"linux-gcc-x64\"\n        }\n    ],\n    \"version\": 4\n}\n<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"622\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-46-1024x622.png\" alt=\"\" class=\"wp-image-25616\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-46-1024x622.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-46-300x182.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-46-767x466.png 767w, https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-46.png 1116w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">6.3 \u2014 Crear <code>tasks.json<\/code><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Este archivo define las tareas de compilaci\u00f3n y ejecuci\u00f3n. Incluye tareas para C\/C++ (MPI, OpenMP) y para Python + Slurm.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dentro de <code>.vscode\/<\/code>, crea un archivo llamado <code>tasks.json<\/code> con este contenido:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"version\": \"2.0.0\",\n  \"tasks\": &#91;\n    {\n      \"label\": \"Compilar OpenMPI\",\n      \"type\": \"ssh-shell\",\n      \"host\": \"hpc\",\n      \"command\": \"\/opt\/openmpi\/4.0.4_gnu\/bin\/mpicxx \\\"${remoteFile}\\\" -o \\\"${remoteFileDirname}\/${remoteFileBasenameNoExtension}\\\"\",\n      \"group\": { \"kind\": \"build\", \"isDefault\": true },\n      \"problemMatcher\": &#91;\"$gcc\"]\n    },\n    {\n      \"label\": \"Compilar OpenMP\",\n      \"type\": \"ssh-shell\",\n      \"host\": \"hpc\",\n      \"command\": \"\/usr\/bin\/g++ \\\"${remoteFile}\\\" -o \\\"${remoteFileDirname}\/${remoteFileBasenameNoExtension}\\\" -fopenmp\",\n      \"group\": \"build\",\n      \"problemMatcher\": &#91;\"$gcc\"]\n    },\n    {\n      \"label\": \"Ejecutar OpenMPI con Slurm\",\n      \"type\": \"ssh-shell\",\n      \"host\": \"hpc\",\n      \"command\": \"cd \\\"${remoteFileDirname}\\\" &amp;&amp; srun --partition=debug --ntasks=4 \/opt\/openmpi\/4.0.4_gnu\/bin\/mpirun -np 4 \\\".\/${remoteFileBasenameNoExtension}\\\"\",\n      \"problemMatcher\": &#91;]\n    },\n    {\n      \"label\": \"Ejecutar OpenMP con Slurm\",\n      \"type\": \"ssh-shell\",\n      \"host\": \"hpc\",\n      \"command\": \"cd \\\"${remoteFileDirname}\\\" &amp;&amp; OMP_NUM_THREADS=4 srun --partition=debug --ntasks=1 --cpus-per-task=4 \\\".\/${remoteFileBasenameNoExtension}\\\"\",\n      \"problemMatcher\": &#91;]\n    },\n    {\n      \"label\": \"Ejecutar Python con Slurm\",\n      \"type\": \"ssh-shell\",\n      \"host\": \"hpc\",\n      \"command\": \"cd \\\"${remoteFileDirname}\\\" &amp;&amp; module load Anaconda &amp;&amp; srun --partition=debug --ntasks=1 --cpus-per-task=1 python \\\"${remoteFile}\\\"\",\n      \"problemMatcher\": &#91;]\n    },\n    {\n      \"label\": \"Enviar sbatch\",\n      \"type\": \"ssh-shell\",\n      \"host\": \"hpc\",\n      \"command\": \"cd \\\"${remoteFileDirname}\\\" &amp;&amp; sbatch \\\"${remoteFile}\\\"\",\n      \"problemMatcher\": &#91;]\n    },\n    {\n      \"label\": \"Ver mi cola (squeue)\",\n      \"type\": \"ssh-shell\",\n      \"host\": \"hpc\",\n      \"command\": \"squeue -u $USER\",\n      \"problemMatcher\": &#91;]\n    },\n    {\n      \"label\": \"\u00daltimos jobs de hoy (sacct)\",\n      \"type\": \"ssh-shell\",\n      \"host\": \"hpc\",\n      \"command\": \"sacct -u $USER --starttime=today -o JobID,JobName,State,Elapsed,MaxRSS,NodeList\",\n      \"problemMatcher\": &#91;]\n    }\n  ]\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Guarda con <code>Ctrl+S<\/code>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"548\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-47-1024x548.png\" alt=\"\" class=\"wp-image-25618\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-47-1024x548.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-47-300x160.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-47-767x410.png 767w, https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-47-1536x821.png 1536w, https:\/\/sada.services\/wp-content\/uploads\/2026\/09\/image-47.png 1681w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n","protected":false},"excerpt":{"rendered":"<p>Esta gu\u00eda te ayuda a la configuracion del cl\u00faster Helix (nodo de login cicima-hpc) mediante la extensi\u00f3n SSH FS de visual code. \u00bfPor qu\u00e9 SSH FS y no Remote-SSH? VS Code tiene dos formas de trabajar remoto: SSH FS (recomendado en Helix) Remote-SSH (no recomendado) D\u00f3nde corre VS Code En tu m\u00e1quina local Instala un [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-25597","post","type-post","status-publish","format-standard","hentry","category-sin-categoria"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts\/25597","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=25597"}],"version-history":[{"count":7,"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts\/25597\/revisions"}],"predecessor-version":[{"id":25625,"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts\/25597\/revisions\/25625"}],"wp:attachment":[{"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=25597"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=25597"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=25597"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}