# Verificación de claves de host

Tessera usa la confianza en el primer uso (TOFU): la primera conexión con un
servidor fija su clave de host, y todas las conexiones posteriores se comprueban
contra esa fijación.

## Primera conexión

La primera vez que conectas con un servidor, Tessera se detiene con una hoja de
**host desconocido** que muestra:

- el endpoint (dirección y puerto),
- la **huella del servidor** (SHA-256, compatible con OpenSSH),
- el **tipo de clave**.

Verifica la huella con una fuente en la que confíes — el panel de tu proveedor,
o el propio servidor:

```sh
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
```

Después toca **Confiar y conectar** para fijarla, o **Cancelar** para
abandonar. Mientras no se confíe en la clave de un host, Tessera no instalará
claves en él, y el panel de [archivos](https://bambouville.com/docs/es/files/) te pedirá que abras antes una
sesión de terminal.

Confiar una vez cubre toda la conexión: la confianza de un host mosh viaja en
su SSH de arranque, así que el canal lateral de tmux no vuelve a preguntar.
Cuando llegas por [handoff](https://bambouville.com/docs/es/continuity/) o importas un host mediante la
[configuración cercana](https://bambouville.com/docs/es/nearby-setup/), la hoja también dice si la clave
coincide con aquella en la que confía tu otro dispositivo — y cuando *difiere*,
la hoja encabeza con **No conectar**. Es contexto útil, pero la fijación sigue
siendo una decisión explícita de cada dispositivo; **la confianza nunca se
sincroniza**.

![La hoja de host desconocido con la dirección del servidor, su huella SHA-256, el tipo de clave ssh-ed25519 y los botones Confiar y conectar y Cancelar.](https://bambouville.com/docs/assets/img/unknown-host.png)

*La pregunta de confianza en el primer uso. La huella que aparece aquí es la que comparas con el servidor.*


## Una clave de host cambiada

Si la clave de un servidor llega a diferir de la fijada, Tessera muestra **LA
CLAVE DEL HOST CAMBIÓ** con el clásico aviso «ADVERTENCIA: ¡LA IDENTIFICACIÓN
DEL HOST REMOTO HA CAMBIADO!», las huellas antigua y nueva, y los botones
**Confiar** / **Cancelar**.

Trátalo como un posible ataque de intermediario salvo que sepas por qué
cambió — motivos legítimos son reinstalar el servidor, sustituirlo o rotar sus
claves de host deliberadamente.

## La página de hosts conocidos

La página de **hosts conocidos** (barra lateral en el iPad; tras el selector de
la pestaña de claves en el iPhone) lista todas las claves fijadas: host,
algoritmo, fecha de alta y estado. Las fichas de filtro acotan la lista:

- **verificado**: fijada y coincidente,
- **obsoleto**: sin verse en 90 días,
- **cambiado**: se vio una clave distinta; un aviso rojo marca la discrepancia.

Despliega una fila para ver sus huellas, **copiar la huella**, **aceptar la
clave nueva** (tras un cambio legítimo) o **quitar** la fijación. Quitar una
fijación significa que la próxima conexión se vuelve a tratar como una primera
conexión.

Las fijaciones se guardan en `known_hosts.json`, en el directorio Application
Support de la app, indexadas por `address:port`, con huellas SHA-256
compatibles con OpenSSH.

## Exportar e importar

El botón de **exportar** de la cabecera de la página escribe tus fijaciones como
un archivo `known_hosts` estándar de OpenSSH — solo claves públicas de host y
huellas, nada secreto —, listo para cualquier otro cliente SSH. **Importar** lee
un archivo `known_hosts` y muestra una revisión de todas las fijaciones que
encontró antes de fusionar nada, así que tú decides qué entra; un archivo sin
nada aprovechable lo dice («No se encontró ninguna fijación de host
importable.»). Ambos funcionan en el iPad y en el iPhone.

![La página de hosts conocidos con fichas de filtro para todos, verificado, obsoleto y cambiado, una tabla de hosts fijados con el algoritmo de la clave, la fecha de alta y el estado, y una fila desplegada que revela su huella con los botones de copiar y quitar.](https://bambouville.com/docs/assets/img/known-hosts.png)

*Todos los hosts fijados, filtrables por estado. Al desplegar una fila aparece su huella guardada.*
