XRS SSH Atlas
XRS SSH Atlas añade un árbol de hosts SSH a Visual Studio Code, pensado para gestionar muchas sesiones de forma organizada.
Está diseñado para quien maneja varios clientes o entornos y prefiere una estructura tipo cliente > proyecto > entorno > host en lugar de una lista plana.
Características
- Muestra los hosts SSH como árbol jerárquico en la barra de actividad.
- Lee el inventario desde un fichero YAML configurable (por defecto
~/.ssh/atlas-hosts.yml).
- Genera un fichero de configuración OpenSSH en
~/.ssh/hosts/xrs-ssh-atlas.conf.
- Detecta cambios en el fichero de hosts y se actualiza automáticamente.
- Abre hosts en la terminal integrada con
ssh <alias>.
- Ordena carpetas y hosts alfabéticamente.
- Soporta
hostname, user, port, identityFile, proxyJump y alias personalizado.
Requisitos
XRS SSH Atlas usa el comando ssh local. Para que los hosts generados funcionen también en otras funciones SSH de VS Code, añade esto a tu ~/.ssh/config:
Include ~/.ssh/hosts/*.conf
Host *
ServerAliveInterval 60
ServerAliveCountMax 3
Uso
- Abre la vista SSH Atlas desde la barra de actividad.
- Haz clic en Open Hosts File — esto crea y abre el fichero de inventario.
- Pega o escribe tus hosts en formato YAML (ver ejemplo abajo) y guarda.
- El árbol se actualiza solo al guardar.
- Haz clic en un host para conectarte directamente desde la terminal integrada.
Importar hosts automáticamente
Si gestionas tus servidores con Chef, usa el script incluido para generar el inventario:
python3 knife-import.py
El script te guía paso a paso y genera un fichero YAML con tus nodos agrupados por cliente, proyecto y entorno. Una vez generado:
- Abre el fichero generado y copia todo el contenido.
- En VSCode, haz clic en Open Hosts File en el panel SSH Atlas.
- Pega el contenido y guarda — el árbol se actualiza solo.
Ejemplo de inventario
cliente-a:
ecommerce:
PRE:
web01:
hostname: 192.0.2.21
user: admin
port: 22
web02:
hostname: 192.0.2.22
user: admin
port: 22
PRO:
web01:
hostname: 198.51.100.21
user: admin
port: 22
cliente-b:
platform:
PRO:
bastion01:
hostname: bastion.example.com
user: admin
identityFile: ~/.ssh/id_ed25519
Notas sobre el YAML
XRS SSH Atlas soporta intencionalmente un subconjunto pequeño de YAML para funcionar sin dependencias externas. Usa solo objetos anidados y campos escalares en los hosts.
XRS SSH Atlas (English)
XRS SSH Atlas adds a clean SSH host tree to Visual Studio Code.
It is built for people who manage many SSH sessions and prefer a structured tree such as customer > project > environment > host instead of a flat Remote SSH list.
Features
- Shows SSH hosts as a hierarchical tree in the Activity Bar.
- Reads a simple YAML inventory from a configurable path (default
~/.ssh/atlas-hosts.yml).
- Generates an OpenSSH config file at
~/.ssh/hosts/xrs-ssh-atlas.conf.
- Watches the hosts file and refreshes the tree automatically on save.
- Opens hosts in the integrated terminal using
ssh <alias>.
- Sorts folders and hosts alphabetically.
- Supports
hostname, user, port, identityFile, proxyJump, and custom alias.
Requirements
XRS SSH Atlas uses your local ssh command. For generated hosts to work from other VS Code SSH features, add this to your ~/.ssh/config:
Include ~/.ssh/hosts/*.conf
Host *
ServerAliveInterval 60
ServerAliveCountMax 3
Usage
- Open the SSH Atlas view from the Activity Bar.
- Click Open Hosts File — this creates and opens the inventory file.
- Paste or write your hosts in YAML format (see example below) and save.
- The tree updates automatically on save.
- Click a host to connect directly from the integrated terminal.
Importing hosts automatically
If you manage your servers with Chef, use the included script to generate the inventory:
python3 knife-import.py
The script guides you through the process and generates a YAML file with your nodes grouped by client, project, and environment. Once generated:
- Open the generated file and copy all the content.
- In VSCode, click Open Hosts File in the SSH Atlas panel.
- Paste the content and save — the tree updates automatically.
Example Inventory
customer-a:
ecommerce:
PRE:
web01:
hostname: 192.0.2.21
user: admin
port: 22
web02:
hostname: 192.0.2.22
user: admin
port: 22
PRO:
web01:
hostname: 198.51.100.21
user: admin
port: 22
customer-b:
platform:
PRO:
bastion01:
hostname: bastion.example.com
user: admin
identityFile: ~/.ssh/id_ed25519
YAML Notes
XRS SSH Atlas intentionally supports a small YAML subset so it can run without external dependencies. Use nested objects and scalar host fields only.