# Aggiungere chiavi SSH ai tuoi server

> Gestisci le chiavi SSH in Vimonto Deploy: chiavi personali, chiavi dell'organizzazione su ogni server e chiavi su un singolo server, anche per root.

Le chiavi SSH permettono alle persone di accedere ai tuoi server con `ssh`. I server di Vimonto Deploy accettano solo accessi con chiave: gli accessi con password vengono disattivati durante il [provisioning](https://ops.vimonto.com/docs/it/servers/provisioning), quindi ti serve una chiave sul server per accedere tu stesso.

Le chiavi si tengono in tre posti:

| Dove | A cosa serve | Chi può modificarlo |
| --- | --- | --- |
| **Account** → **Chiavi SSH** | Le tue chiavi. Le scegli quando crei un server, o le aggiungi a un server in seguito. | Tu |
| **Impostazioni** → **Chiavi SSH** | Le chiavi dell'organizzazione, aggiunte a ogni server dell'organizzazione, per l'utente del server e per root. | Proprietario, Amministratore, Manager |
| La pagina **Chiavi SSH** di un server | Le chiavi che possono accedere a quel singolo server, come suo utente o come root. | I membri che possono gestire i server |

Le chiavi che aggiungi sono chiavi pubbliche; le chiavi private non lasciano mai il tuo computer. Le chiavi dell'organizzazione e le chiavi su un server vengono registrate nel [registro di audit](https://ops.vimonto.com/docs/it/organization/audit-log).

![La pagina delle chiavi SSH dell'account con un modulo per aggiungere una chiave e un elenco di chiavi con le loro impronte](https://ops.vimonto.com/docs-media/it/account-ssh-keys.webp?v=161e760d "Account → Chiavi SSH")

## Creare una chiave SSH

Se non hai ancora una chiave, creane una sul tuo computer:

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

Poi copia il contenuto della chiave pubblica, `~/.ssh/id_ed25519.pub`. Ha questo aspetto: `ssh-ed25519 AAAA… nome@computer`.

Vimonto Deploy accetta chiavi Ed25519, ECDSA e RSA, comprese le varianti per security key (`sk-ssh-ed25519@openssh.com`, `sk-ecdsa-sha2-nistp256@openssh.com`). Le chiavi RSA devono essere di almeno 2048 bit; Ed25519 è la scelta migliore.

## Aggiungere una chiave personale al tuo account

1. Apri il menu del tuo account e vai su **Chiavi SSH**.
2. Sotto **Aggiungi chiave**, inserisci un **Nome** (per esempio "Laptop di Luuk") e incolla la **Chiave pubblica**.
3. Scegli **Aggiungi chiave**.

Le chiavi del tuo account appartengono a te, non a un'organizzazione. Ti vengono proposte in **Le tue chiavi SSH** nella [procedura guidata per un nuovo server](https://ops.vimonto.com/docs/it/servers/create-a-server), dove sono tutte selezionate per impostazione predefinita, e puoi aggiungerle a un server esistente dalla sua pagina **Chiavi SSH**.

Ogni chiave mostra la sua impronta (SHA256), così puoi confrontarla con `ssh-keygen -lf ~/.ssh/id_ed25519.pub`. La stessa chiave non può essere aggiunta due volte.

## Aggiungere chiavi dell'organizzazione per tutto il team

Le chiavi dell'organizzazione servono alle persone che devono accedere a ogni server, per esempio il tuo team operations o un sistema di CI.

1. Apri **Impostazioni** → **Chiavi SSH**.
2. Inserisci un **Nome**, incolla la **Chiave pubblica** e scegli **Aggiungi chiave**.

Le chiavi dell'organizzazione vengono sempre aggiunte ai nuovi server, sia per l'utente del server (`vimonto` per impostazione predefinita) sia per root; non puoi escluderle nella procedura guidata.

Una chiave che aggiungi all'organizzazione viene messa subito anche su ogni server attivo, per l'utente del server e per root, come task per server che puoi seguire. Nella pagina **Chiavi SSH** di ogni server la chiave risulta prima in installazione, poi installata; se lì non è riuscita, scegli **Riprova**. Un server che ha già la chiave per un utente resta com'è, e i server ancora in fase di provisioning ricevono la chiave durante il provisioning.

![La pagina delle chiavi SSH dell'organizzazione nelle impostazioni](https://ops.vimonto.com/docs-media/it/org-ssh-keys.webp?v=161e760d "Impostazioni → Chiavi SSH")

## Aggiungere una chiave a un singolo server

1. Apri il server e vai su **Chiavi SSH**.
2. Scegli **Aggiungi chiave**.
3. In **Chiave**, scegli una delle chiavi del tuo account, oppure **Incolla un'altra chiave** e inserisci un **Nome** e la **Chiave pubblica**.
4. In **Accedi come**, scegli l'utente del server (`vimonto` per impostazione predefinita) o `root`.
5. Scegli **Aggiungi chiave**.

Vimonto Deploy aggiunge la chiave al file `~/.ssh/authorized_keys` dell'utente sul server, come task che puoi seguire. La chiave risulta prima in installazione, poi installata; se non è riuscita, scegli **Riprova**. Una chiave può stare su un server una volta per utente, quindi puoi aggiungere la stessa chiave sia per `vimonto` sia per `root`.

Serve un ruolo che possa gestire i server (Proprietario, Amministratore, Manager o Sviluppatore) e un server attivo. I membri il cui accesso è limitato ai propri [team](https://ops.vimonto.com/docs/it/organization/teams) vedono solo i server dei loro team e possono aggiungere chiavi solo lì.

![La pagina delle chiavi SSH di un server con l'elenco delle chiavi, il loro utente e la loro impronta](https://ops.vimonto.com/docs-media/it/server-ssh-keys.webp?v=161e760d "Le chiavi SSH di un server")

L'elenco del server mostra anche le chiavi installate durante il provisioning, per l'utente del server e per root: le chiavi dell'account scelte alla creazione del server e le chiavi dell'organizzazione.

## Rimuovere una chiave da un server

Nella pagina **Chiavi SSH** del server, scegli **Rimuovi** accanto alla chiave e conferma. Chi usa quella chiave non può più accedere al server come quell'utente.

## Eliminare una chiave dell'account o dell'organizzazione

Scegli **Elimina** accanto alla chiave e conferma.

- Una **chiave dell'account** non viene più proposta per i nuovi server. I server che già la hanno la mantengono finché non la rimuovi nelle loro pagine **Chiavi SSH**.
- Una **chiave dell'organizzazione** non viene più aggiunta ai nuovi server e viene rimossa da ogni server attivo dell'organizzazione, per l'utente del server e per root. Un server non attivo (per esempio perché il provisioning è fallito) mantiene la chiave finché non la rimuovi nella sua pagina **Chiavi SSH**, quando il server è di nuovo attivo. Una copia della chiave aggiunta a mano a un server resta su quel server.

> [!WARNING]
> Quando qualcuno lascia il tuo team, elimina la sua chiave nell'organizzazione o nell'account. Una chiave dell'organizzazione sparisce allora dai tuoi server attivi; una chiave dell'account, e ogni copia aggiunta a mano a un server, va rimossa anche nella pagina **Chiavi SSH** di ogni server.

## Accedere a un server

Con la tua chiave sul server, accedi come utente del server:

```bash
ssh vimonto@203.0.113.10
```

Usa l'indirizzo IP pubblico del server che trovi nella sua panoramica. Un VPS personalizzato che ascolta su un'altra porta SSH richiede `-p`, per esempio `ssh -p 2222 vimonto@203.0.113.10`. L'utente del server ha i permessi sudo; `sudo` chiede la password sudo che è stata mostrata una sola volta a chi ha creato il server. Root accetta le stesse chiavi (`ssh root@…`) ma non ha una password. Preferisci lavorare nel browser? Usa il [terminale](https://ops.vimonto.com/docs/it/servers/terminal).

## Domande frequenti

### Perché non posso accedere con una password?

Il provisioning disattiva in SSH gli accessi con password e keyboard-interactive e consente l'accesso a root solo con una chiave. Questo protegge il server da chi prova a indovinare le password. Aggiungi invece la tua chiave al server.

### Cos'è la chiave in "Chiave pubblica del server"?

È la chiave del server stesso, che usa per clonare i repository. Non serve per accedere. Aggiungila al tuo host Git se un sito fa il deploy senza una deploy key dedicata. Vedi [account Git](https://ops.vimonto.com/docs/it/connections/source-control).

### Vimonto Deploy ha una propria chiave sui miei server?

Sì. Ogni server riceve una propria coppia di chiavi Ed25519 quando viene creato, che Vimonto Deploy usa per collegarsi via SSH per il provisioning, i deployment e tutto il resto. È unica per ogni server.

### Posso usare la stessa chiave su tutti i server?

Sì. Aggiungila come chiave dell'organizzazione per averla su ogni server, anche su quelli che hai già, oppure aggiungi la chiave del tuo account ai server che ti servono.
