Files
clusterlogs/content/manuales/2026-08-19-run-20260819-bf6dc8-configurar-acceso-ssh-al-cluster-administrado.md
T

78 lines
4.4 KiB
Markdown

+++
title = "Configurar acceso SSH al clúster administrado"
description = "Definir su alias personal en ~/.ssh/config para conectarse al clúster (mcps) sin exponer llaves ni rutas personales en el repositorio."
date = 2026-08-19T05:58:18Z
authors = ["gen"]
slug = "run-20260819-bf6dc8-configurar-acceso-ssh-al-cluster-administrado"
template = "page.html"
weight = 15
[taxonomies]
categories = ["manuales"]
tags = ["acceso", "cluster", "ssh"]
systems = ["cluster"]
[extra]
id = "RUN-20260819-BF6DC8"
kind = "manuales"
author_id = "gen"
author_fingerprint = "SHA256:JhN1Tt4jYqWoJIznDJ6QkMAiOR6HFHr3xLz9aBJqmPg"
+++
## Prerrequisitos
- Ya es administrador registrado en clusterlog y tiene su llave SSH personal (la misma de siempre; no hace falta crear una nueva).
- Ya tiene acceso de red/VPN al clúster.
- Un *owner* u otro miembro del comité le confirmó, fuera de este repositorio, el usuario, el host o IP real y el puerto para conectarse. Esos datos son personales/locales y **no están documentados aquí** — sólo el procedimiento para guardarlos.
## Por qué esto no vive en el repositorio
El repositorio guarda el contrato compartido de cómo conectarse (alias, roles, qué evitar) en la skill [`acceso-cluster`](../../.claude/skills/acceso-cluster/SKILL.md), para que cualquier IA lanzada desde aquí — la suya o la de otro miembro del comité — se comporte igual. Lo que varía por persona (llave, usuario, host real, puerto) vive únicamente en su `~/.ssh/config` local, nunca en Git.
## 1. Agregar su alias en `~/.ssh/config`
Abra (o cree) `~/.ssh/config` y agregue un bloque `Host` por cada alias listado en el inventario de la skill. Para el alias principal `mcps`:
```sshconfig
Host mcps
HostName <host-o-ip-real-que-le-confirmaron>
User <su-usuario>
Port <puerto-si-no-es-22>
IdentityFile ~/.ssh/id_ed25519
IdentitiesOnly yes
```
Reemplace `<host-o-ip-real-que-le-confirmaron>` y `<su-usuario>` por los datos que le dieron; no los pida ni los busque en este repositorio. Ajuste la ruta de `IdentityFile` si usa una llave distinta a la registrada en `clusterlog`.
## 2. Confirmar la conexión
```bash
ssh mcps
```
Debe llegar directo a una sesión de shell en el clúster, sin que le pida contraseña. Si en cambio ve `Permission denied (publickey)` o `Could not resolve hostname`, revise la sección de solución de problemas.
## 3. Cómo lo usa un agente de IA
Cualquier IA (Claude Code u otra) lanzada desde este repositorio debe ejecutar `ssh mcps` — o el alias que corresponda — y nunca construir la conexión a mano con `-i` y una ruta de llave. Ese contrato completo, incluyendo qué comandos evitar y cuándo pedir confirmación antes de actuar sobre el clúster, está en la skill `acceso-cluster`, que se carga sola en cada sesión de Claude Code iniciada aquí. Este manual sólo cubre la configuración local que hace posible que ese contrato funcione igual para todos.
## Verificación
- `ssh mcps` conecta sin pedir contraseña y sin errores.
- `ssh -v mcps` (si hace falta depurar) muestra que ofreció la llave correcta, sin haber impreso ni copiado su contenido.
- Una IA lanzada desde este repositorio, al pedirle conectarse al clúster, usa `ssh mcps` por su cuenta en vez de preguntar por una ruta de llave o una IP.
## Mantenimiento
Cuando el clúster incorpore un host o alias nuevo, dos pasos separados:
1. Alguien agrega la fila correspondiente (alias, rol, notas) al inventario compartido en `acceso-cluster/SKILL.md`, vía pull request normal.
2. Cada administrador agrega su propio bloque `Host` para ese alias en su `~/.ssh/config` local, con sus datos reales.
## Solución de problemas
- **`Permission denied (publickey)`**: confirme que `IdentityFile` en su bloque `Host` apunta a la llave privada correcta y que esa llave está registrada como administrador en `clusterlog` (`clusterlog --ssh-key ... identity`). Revise también `ssh-add -l` si usa un agente.
- **`Could not resolve hostname` / tiempo de espera agotado**: confirme `HostName` y que tiene la VPN o red de administración activa.
- **Le pide contraseña en vez de usar la llave**: revise que `User` y `Port` en el bloque `Host` sean los que le confirmaron, y que la llave pública esté autorizada en ese host.
- **Un agente de IA intenta armar `ssh -i ...` en vez de usar el alias**: es una señal de que la skill `acceso-cluster` no se cargó o fue ignorada; repórtelo, no complete la conexión manualmente en su lugar dentro de la sesión.