# Conectarse por SSH

Su VPS Pro se abre con su **clave SSH**: un par de archivos creado en su ordenador, cuya parte **pública** usted registra en su área de cliente. La parte **privada** se queda en su ordenador y no se transmite a nadie, ni siquiera a nuestro equipo.

## Crear su clave

En macOS, Linux y Windows 10 u 11 (PowerShell o Terminal), un solo comando:

```
ssh-keygen -t ed25519
```

Acepte la ubicación propuesta y elija una frase de contraseña para proteger la clave. Aparecen dos archivos en la carpeta `.ssh` de su cuenta:

* `id_ed25519`: su clave **privada**, que se queda con usted;
* `id_ed25519.pub`: su clave **pública**, la que usted registra. Cabe en una línea que empieza por `ssh-ed25519`.

Para mostrar la clave pública y copiarla:

```
cat ~/.ssh/id_ed25519.pub
```

## Registrar su clave en el área de cliente

1. Abra [my.simafri.com](https://my.simafri.com/), apartado **VPS**.
2. En la tarjeta de su servidor, pegue su clave pública en **Sus claves públicas, una por línea**.
3. Haga clic en **Guardar las claves**.

Su clave se instala en el servidor en menos de un minuto, y la tarjeta lo indica: **Instaladas en el servidor el** seguido de la fecha, con la huella de cada clave (`SHA256:...`, la misma que muestra `ssh-keygen -lf ~/.ssh/id_ed25519.pub`). Si la registra durante la preparación del servidor, la clave se instala al crearse este.

Conviene saber:

* hasta **10 claves** por servidor, una por persona o por ordenador;
* tipos aceptados: **ed25519**, **RSA** de 2048 bits como mínimo, **ECDSA**, y las llaves de seguridad físicas (`sk-ssh-ed25519`, `sk-ecdsa`); el formato PuTTYgen también se acepta;
* cada registro **sustituye** el conjunto de las claves registradas: pegue todas las que quiera conservar;
* el propietario de la cuenta y los **gestores** registran las claves; un **operador** las consulta (vea [Miembros y roles](https://docs.simafri.com/es/espace-client/membres-et-roles/)).

Las claves registradas desde el área de cliente ocupan su propio bloque del archivo `/root/.ssh/authorized_keys`, entre dos líneas de referencia `my.simafri.com`. El resto del archivo le pertenece: una clave que usted mismo añada en él, fuera de ese bloque, permanece en su sitio.

## Conectarse

La tarjeta de su servidor muestra el comando **Conexión SSH**, listo para copiar:

```
ssh -p 22101 root@203.0.113.10
```

El puerto, entre 22100 y 22999, es propio de su servidor: utilice el de su tarjeta. El nombre de su servidor también funciona en lugar de la dirección:

```
ssh -p 22101 root@app.mi-empresa.com
```

Para un servidor cuyo nombre está bajo su propio dominio, ese nombre responde en cuanto su registro DNS designa su servidor (vea [Poner en línea un sitio o una aplicación](/es/vps-pro/mettre-en-ligne.md)).

### Por IPv6

Si su conexión a Internet tiene IPv6, también puede acceder a su servidor directamente por su dirección IPv6, que aparece en la tarjeta, en el puerto SSH habitual:

```
ssh root@2001:db8::101
```

### Un atajo: el archivo \~/.ssh/config

Para no tener que volver a escribir el puerto y la dirección, añada un bloque a su archivo `~/.ssh/config`:

```
Host mivps

    HostName app.mi-empresa.com

    Port 22101

    User root

    IdentityFile ~/.ssh/id_ed25519
```

Después, basta con `ssh mivps`, y el mismo atajo sirve para `scp`, `rsync`, `git` y su editor.

## Desde Windows

Windows 10 y 11 incluyen el cliente OpenSSH: abra PowerShell o Terminal y pegue el comando de su tarjeta. Su archivo de atajos se encuentra en `C:\Users\<su nombre>\.ssh\config`.

Con **PuTTY**, indique la dirección y el puerto de su tarjeta en **Session**, el usuario `root` en **Connection > Data**, y su clave privada en formato `.ppk` en **Connection > SSH > Auth > Credentials**. La clave pública que muestra PuTTYgen se registra tal cual en su área de cliente.

## Transferir archivos

Con el mismo puerto y la misma clave:

```
# un archivo, hacia el servidor

scp -P 22101 archive.tar.gz root@app.mi-empresa.com:/srv/



# una carpeta, sincronizada

rsync -avz -e "ssh -p 22101" ./build/ root@app.mi-empresa.com:/var/www/app/
```

`scp` toma el puerto con una **P mayúscula**. Los programas SFTP como FileZilla o WinSCP se conectan por **SFTP**, con la dirección, el puerto y la clave privada de su ordenador.

## Trabajar desde su editor

La extensión **Remote - SSH** de Visual Studio Code abre las carpetas de su servidor como si estuvieran en su ordenador: lee su archivo `~/.ssh/config`, basta con elegir `mivps`. Los editores de JetBrains ofrecen la misma conexión mediante **Remote Development**.

## Dar acceso a un compañero

Dos maneras de hacerlo, según lo que quiera confiarle:

* **un acceso de administrador**: añada su clave pública junto a la suya en **Sus claves públicas, una por línea** y, después, **Guardar las claves**;
* **un acceso limitado**: créele una cuenta en el servidor, con su propia clave:

```
adduser camille

mkdir -p /home/camille/.ssh

nano /home/camille/.ssh/authorized_keys   # pegue su clave pública

chown -R camille:camille /home/camille/.ssh

chmod 700 /home/camille/.ssh && chmod 600 /home/camille/.ssh/authorized_keys
```

Para retirar un acceso, guarde la lista de claves sin la suya, o elimine su cuenta con `deluser camille`.

## Sustituir una clave perdida

Ha cambiado de ordenador o su clave privada ha desaparecido: cree una clave nueva con `ssh-keygen -t ed25519` y registre la nueva clave pública en su tarjeta, retirando la antigua. Se instala en menos de un minuto, y recupera el acceso a su servidor.

## Su asistente de IA

Un asistente de IA conectado a su área de cliente Simafri (servidor MCP `https://mcp.simafri.com/v1/mcp`) lee sus servidores, su estado, sus direcciones y su comando de conexión, y registra sus claves **públicas** por usted, con los derechos de la persona conectada. Una clave privada se rechaza, como en el área de cliente.

## Preguntas frecuentes

### «Permission denied (publickey)»: ¿qué comprobar?

1. La tarjeta de su servidor indica **Instaladas en el servidor el** seguido de una fecha.
2. La huella que aparece en la tarjeta es la de su clave: `ssh-keygen -lf ~/.ssh/id_ed25519.pub`.
3. Su comando indica el puerto de su tarjeta y el usuario `root`.
4. Si su clave tiene otro nombre, indíquela: `ssh -i ~/.ssh/mi_clave -p 22101 root@...`.

Describa después la situación al soporte, con el comando ejecutado y el mensaje obtenido: la Asistencia integral le ayuda a restablecer el acceso.

### Mi conexión se corta cuando estoy inactivo.

Añada `ServerAliveInterval 60` a su bloque en `~/.ssh/config`: su ordenador mantiene viva la conexión. Para un comando largo, ejecútelo en `tmux` o `screen`, que lo mantienen vivo incluso desconectado.

### El área de cliente indica «Este texto contiene una clave PRIVADA».

Ha pegado el archivo sin `.pub`. Pegue el contenido del archivo que termina en `.pub`. Si su clave privada se envió por error a alguien, cree una nueva y registre su clave pública.

### ¿Puedo conectarme con una contraseña?

Su servidor se abre con clave SSH, el método más seguro: una clave no se adivina y nunca circula. Registre una clave por persona, y cada una conserva su propio acceso.
