# Aggiungere Chiavi SSH a un Sito

Source: https://support.kapsulehost.com/it-it/adding-ssh-keys

SSH access to a sito KapsuleHost è basato esclusivamente su chiavi, quindi prima di poter aprire una shell o una sessione SFTP devi registrare una chiave pubblica sul sito in KPanel. Questa guida spiega dove trovare quella sezione, come aggiungere una chiave che hai già, come far generare una chiave a KapsuleHost per te e come revocare una chiave di cui non ti fidi più.

## Dove Si Trova la Pagina delle Chiavi SSH

Apri **Siti web**, fai clic sul sito, poi apri il gruppo **Impostazioni** nel menu a sinistra del sito e scegli **Chiavi SSH**. La pagina si intitola **Accesso SSH** e contiene due cose: i dettagli di connessione per questo sito e l'elenco delle chiavi pubbliche attualmente autorizzate a usarli.

Non esiste una voce SSH di livello superiore nella barra laterale principale. Le chiavi sono associate al singolo sito, quindi una chiave aggiunta qui autentica solo su questo sito. Se gestisci più siti, ciascuno necessita della propria voce, anche se si tratta della stessa chiave presente sul tuo computer.

![La pagina di accesso SSH per un sito in KPanel, con i dettagli di connessione e l'elenco delle chiavi pubbliche autorizzate](https://support.kapsulehost.com/help/screenshots/adding-ssh-keys.2a53d172.webp)

> **Note:** Per aggiungere o revocare una chiave è necessario il permesso **sites:write**. Se hai un account di gruppo con un ruolo di sola lettura, il pulsante **Aggiungi chiave** e l'icona di revoca sono nascosti. Chiedi a un proprietario o a un amministratore dell'account di effettuare la modifica.

## Dettagli di Connessione

La scheda **Dettagli di connessione** in cima alla pagina mostra tutto ciò di cui il tuo client ha bisogno:

| Campo | Cos'è |
|---|---|
| Host | Il nome host a cui connettersi |
| Porta | La porta SSH per questo sito |
| Nome utente | L'utente di sistema con cui viene eseguito il tuo sito |
| SSH | Un comando `ssh` già pronto per questo sito |
| SFTP | Un comando `sftp` già pronto per questo sito |

Ogni riga dispone di un controllo per la copia, e le righe SSH e SFTP copiano l'intero comando anziché il solo valore, così puoi incollarlo direttamente in un terminale. Usa questi due comandi invece di digitarli tu stesso: contengono già l'utente, l'host e la porta corretti.

Se la scheda non compare affatto, il sito non ha ancora terminato il provisioning del proprio utente shell. In questo caso l'API restituisce un semplice errore **Il sito non ha un utente SSH**. Attendi che l'indicatore di stato del sito mostri **Active** e ricarica la pagina.

## Aggiungere una Chiave Già in Tuo Possesso

La maggior parte delle persone ha già una coppia di chiavi sulla propria macchina. Aggiungi qui la metà pubblica.

1. Sul tuo computer, stampa la tua chiave pubblica. Su macOS e Linux di solito si usa `cat ~/.ssh/id_ed25519.pub`, oppure `cat ~/.ssh/id_rsa.pub` per una vecchia chiave RSA. Su Windows con OpenSSH si usa `type %USERPROFILE%\.ssh\id_ed25519.pub`.
2. Copia l'intera riga singola, che inizia con `ssh-ed25519`, `ssh-rsa` o `ecdsa-sha2-nistp256`.
3. In KPanel, fai clic su **Aggiungi chiave**.
4. Inserisci qualcosa di facilmente riconoscibile nel campo **Label**, ad esempio il nome della macchina su cui risiede la chiave.
5. Incolla la chiave pubblica nel secondo campo.
6. Fai clic su **Aggiungi chiave**.

La chiave compare immediatamente nell'elenco **Authorised keys**, con la sua impronta digitale sotto l'etichetta. Puoi connetterti da subito.

KapsuleHost invia inoltre un'email all'indirizzo dell'account ogni volta che viene aggiunta una chiave, citando l'etichetta, l'impronta digitale e il sito. Questa email è intenzionale: l'accesso SSH richiede un'alta fiducia, quindi se compare una chiave che non hai aggiunto tu, revocala e cambia subito la password.

> **Warning:** Incolla sempre e soltanto il file `.pub`. Un file di chiave privata non ha estensione `.pub` e inizia con una riga simile a `-----BEGIN OPENSSH PRIVATE KEY-----`. Se incolli quella, si tratta della tua chiave privata, e deve essere rigenerata anziché riutilizzata.

### Se Non Hai Ancora una Chiave

Generane una in locale con `ssh-keygen -t ed25519 -C "your-label"`, accetta la posizione predefinita del file e imposta una passphrase quando richiesto. In questo modo si ottengono `~/.ssh/id_ed25519` (da tenere privata) e `~/.ssh/id_ed25519.pub` (quella da incollare).

## Lasciare che KapsuleHost Generi la Coppia di Chiavi

Se preferisci non eseguire `ssh-keygen`, KPanel può creare la coppia al posto tuo.

1. Fai clic su **Aggiungi chiave**.
2. Compila il campo **Label**. Lascia vuoto il campo della chiave pubblica.
3. Fai clic su **Genera coppia di chiavi**.

KapsuleHost crea una coppia Ed25519, installa la metà pubblica sul sito e mostra un banner verde: **Coppia di chiavi generata: scarica la chiave privata adesso**. Fai clic su **Scarica .pem** per salvare la chiave privata. Il file viene nominato in base all'etichetta scelta.

> **Important:** La chiave privata viene mostrata una sola volta. Il banner lo indica chiaramente: questa è l'unica occasione per scaricarla. KapsuleHost non conserva una copia recuperabile in seguito. Se chiudi il banner senza scaricarla, revoca la chiave e genera una nuova coppia.

Una chiave generata non ha passphrase, ed è proprio questo che la rende utilizzabile da uno script senza richieste di conferma. Significa anche che il file stesso costituisce l'intera credenziale. Se desideri una passphrase, genera tu stesso la coppia con `ssh-keygen` e incolla la metà pubblica.

Una volta scaricato, sposta il file in una posizione adeguata e restringine i permessi, perché SSH rifiuta di usare una chiave privata leggibile da chiunque:

```sh
mv ~/Downloads/my-laptop_id_ed25519.pem ~/.ssh/kapsule-mysite.pem
chmod 600 ~/.ssh/kapsule-mysite.pem
ssh -i ~/.ssh/kapsule-mysite.pem <username>@<host> -p <port>
```

Sostituisci il nome utente, l'host e la porta indicati nella scheda **Dettagli di connessione**.

## Leggere l'Elenco delle Chiavi Autorizzate

Ogni riga in **Authorised keys** mostra:

- L'etichetta assegnata alla chiave.
- L'impronta digitale della chiave, utile per distinguere due chiavi quando le etichette sono simili.
- **Added** con la data di registrazione.
- **Ultimo utilizzo** con la data dell'autenticazione più recente, oppure **Mai utilizzato** se non si è ancora autenticata.

La colonna **Ultimo utilizzo** è quella più utile durante una pulizia. Una chiave mai utilizzata, o non utilizzata da mesi, corrisponde di solito a un portatile sostituito o a un collaboratore che ha concluso il rapporto.

## Revocare una Chiave

Fai clic sull'icona rossa del cestino sulla riga della chiave. KPanel chiede conferma con **Revocare la chiave SSH?** e una nota che specifica che la chiave non potrà più autenticarsi su questo sito. Fai clic su **Revoke** per completare l'operazione.

La revoca ha effetto sulle nuove connessioni. Una sessione SSH già aperta non viene interrotta dalla revoca della chiave, quindi se stai rimuovendo l'accesso a qualcuno che potrebbe essere ancora connesso, revoca la chiave e poi cambia tutto ciò a cui quella persona poteva avere avuto accesso: password del database, segreti dell'applicazione e qualsiasi token memorizzato sul sito.

> **Tip:** Mantieni breve l'elenco delle chiavi. Una chiave per macchina, etichettata con il nome della macchina, è molto più facile da controllare rispetto a un mucchio di chiavi chiamate "key1", "new key" e "temp".

## Risoluzione dei Problemi

**Permission denied (publickey).** La causa più comune è che il tuo client propone una chiave diversa da quella registrata. Forza quella corretta con `ssh -i /path/to/private_key ...`, oppure verifica con `ssh -v` quali chiavi vengono proposte.

**Connessione rifiutata o timeout.** Verifica di usare la porta indicata in **Dettagli di connessione** e non la porta predefinita 22. Copia il comando SSH dalla pagina invece di digitarlo.

**Permessi errati sulla chiave privata.** OpenSSH rifiuta una chiave privata leggibile da altri utenti. Esegui `chmod 600` sul file.

**La chiave funziona per SSH ma non per SFTP.** Condividono le stesse credenziali, quindi quasi sempre il problema è nel client e non nella chiave. Usa il comando SFTP copiato dalla pagina, che riporta già la porta corretta.

## Prossimi Passi

- [Caricare File Con SFTP](https://support.kapsulehost.com/it-it/sftp-access) illustra il lato trasferimento file delle stesse credenziali.
- [Connettersi al Tuo Database Tramite un Tunnel SSH](https://support.kapsulehost.com/it-it/database-ssh-tunnel) utilizza la chiave appena aggiunta per raggiungere MySQL da un client desktop.
- [Registro Attività del Sito](https://support.kapsulehost.com/it-it/site-activity-log) registra ogni chiave aggiunta, così puoi verificare in seguito chi ha aggiunto cosa e quando.
