# Connessione al tuo Cloud Server con SSH

Source: https://support.kapsulehost.com/it-it/cloud-servers-ssh-connect

SSH ti fornisce una shell root sul tuo server cloud dal tuo terminale personale, e ogni dettaglio che ti serve per connetterti è mostrato sulla pagina del server in KPanel, pronto da copiare.

Un server cloud è tuo a partire dal sistema operativo in su, il che significa che la riga di comando è dove avviene la maggior parte del lavoro. Questa guida copre la ricerca dei tuoi dettagli di connessione, la connessione con una chiave o una password, la configurazione corretta di una chiave, la console browser come fallback, e la manciata di errori che rappresentano quasi ogni connessione fallita.

## Ricerca dei tuoi dettagli di connessione

1. Accedi a [KPanel](https://kpanel.kapsulehost.com).
2. Fai clic su **Cloud Servers** nella barra laterale sinistra, quindi fai clic sul tuo server.
3. Trova la scheda **Connection**.

La scheda contiene tre campi copia negli appunti:

| Campo | Che cos'è |
|---|---|
| **Comando SSH** | Un comando completo, pronto da incollare nel tuo terminale |
| **Indirizzo IPv4** | L'indirizzo IPv4 pubblico del server |
| **Indirizzo IPv6** | L'indirizzo IPv6 del server, mostrato quando assegnato |

![La scheda Connection su un server cloud in KPanel](https://support.kapsulehost.com/help/screenshots/cloud-servers-ssh-connect.902ba66d.webp)

> **Note:** Se la scheda recita "L'indirizzo IP apparirà qui una volta completato il provisioning", il server è ancora in costruzione. Il provisioning di un server cloud richiede circa sessanta secondi e la pagina si aggiorna automaticamente al termine.

## Connessione con una chiave SSH

Se hai incollato una chiave pubblica nel campo **Chiave pubblica SSH** quando hai ordinato il server, l'autenticazione tramite chiave è già configurata e non c'è alcuna password da digitare.

1. Copia il **Comando SSH** dalla scheda Connection.
2. Incollalo nel tuo terminale e premi Invio.

```
ssh root@203.0.113.1
```

Il tuo client SSH trova la chiave privata corrispondente e si autentica automaticamente. Se la tua chiave si trova in una posizione non standard, puntala esplicitamente:

```
ssh -i ~/.ssh/my-kapsule-key root@203.0.113.1
```

> **Tip:** Le chiavi sono sia più facili che più sicure delle password. Non c'è niente da ricordare, niente da digitare in un prompt di phishing, e niente per un attacco automatico di indovinamento delle password da trovare. Se stai ancora usando una password, generare una chiave e aggiungerla richiede circa due minuti.

### Configurazione di una chiave per la prima volta

Genera una coppia di chiavi sulla tua macchina, non sul server:

```
ssh-keygen -t ed25519 -C "your-email@example.com"
```

Premi Invio per accettare la posizione predefinita e imposta una passphrase quando richiesto. Ora hai due file:

- `~/.ssh/id_ed25519` è la tua chiave **privata**. Non esce mai dalla tua macchina e non la incollare mai da nessuna parte.
- `~/.ssh/id_ed25519.pub` è la tua chiave **pubblica**. Questa è quella che dai ai server.

Stampa la chiave pubblica e copia l'intera singola riga, incluso il prefisso `ssh-ed25519` e il commento finale:

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

Quando ordini un server, incolla quella riga nel campo **Chiave pubblica SSH**. L'hint del campo lo dice chiaramente: "Incolla la tua chiave pubblica per abilitare l'autenticazione basata su chiave. Se lasciato vuoto, ti verrà inviato un'email con una password root."

> **Warning:** Non incollare mai il contenuto di un file senza `.pub` alla fine. Quella è la tua chiave privata, e chiunque la possieda può accedere come te su ogni server che la ritiene affidabile. Se mai condividessi accidentalmente una chiave privata, genera una nuova coppia e sostituisci la chiave pubblica ovunque immediatamente.

Per aggiungere una chiave a un server che già hai, connettiti come puoi oggi e aggiungi la riga della chiave pubblica a `/root/.ssh/authorized_keys`.

## Connessione con una password

Se hai lasciato vuoto il campo **Chiave pubblica SSH** al momento dell'ordine, una password root ti viene inviata via email una volta che il server è stato provisioning.

1. Copia il **Comando SSH** dalla scheda Connection.
2. Incollalo nel tuo terminale e premi Invio.
3. Inserisci la password root inviata via email al prompt.

Cambia quella password non appena sei dentro, con `passwd`, e aggiungi una chiave SSH mentre sei lì. Una password inviata via email ha viaggiato più di quanto una credenziale dovrebbe.

## La console browser

La **Console browser** ti fornisce un terminale dentro KPanel, senza un client SSH e senza passare attraverso la porta 22. È lo strumento per il momento in cui il tuo accesso è la cosa che si è rotta.

1. Apri la pagina del server e fai clic su **Console browser** nei pulsanti d'azione, oppure vai a `/cloud-servers/<server-id>/console`.
2. Fai clic su **Avvia console**. KPanel avvia un terminale sul server tramite HTTPS con credenziali monouso.
3. **Username** e **Password** sono visualizzati sulla pagina, con un pulsante **Copia credenziali**. Il terminale si apre nella pagina stessa, e il tuo browser potrebbe chiederti quelle credenziali.
4. Lavora come faresti in qualsiasi shell.

> **Note:** Le sessioni della console si interrompono automaticamente dopo 30 minuti. Avviare una nuova sessione emette credenziali fresche, quindi non rimane nulla in ascolto una volta che hai finito. Una console browser ha anche bisogno di un dominio configurato con HTTPS sul server, il che significa un'app installata tramite il pannello. Su un server bare il console ti dirà piuttosto che fallire silenziosamente.

Usa la console per annullare una regola firewall che ti ha bloccato, reimpostare una password, o riparare la configurazione di `sshd`. Una volta che sei di nuovo dentro via SSH normalmente, non ne avrai bisogno di nuovo.

## Mantenere l'accesso SSH sicuro

La porta 22 è sempre aperta sul firewall del server KapsuleHost, per design, quindi un cambio del firewall non può mai bloccarti completamente dalla macchina.

Ciò significa che la sicurezza della tua shell si basa su come ti autentichi, non su come nascondi la porta. Due cose fanno la maggior parte del lavoro:

- **Usa chiavi, non password.** Allora una password indovinata non è un modo per entrare.
- **Lascia fail2ban attivo.** È abilitato per impostazione predefinita e vieta gli indirizzi che ripetutamente non autenticano SSH. Puoi vedere l'interruttore sulla pagina **Management** del server.

[Gestione del firewall e della sicurezza del server cloud](https://support.kapsulehost.com/it-it/cloud-servers-firewall) copre entrambi, più regole personalizzate per le porte di cui ha bisogno la tua applicazione.

## Risoluzione dei problemi

**"Connessione rifiutata."** Niente è in ascolto. Verifica che il server mostri **Running** in KPanel, accendilo se è spento, e usa la console browser per controllare che `sshd` sia in esecuzione.

**"Connessione scaduta."** Il traffico non sta arrivando. Conferma che stai usando l'indirizzo IPv4 dalla scheda Connection, e controlla se la tua rete blocca la porta 22 in uscita. A volte una rete aziendale o universitaria lo fa.

**"Permesso negato (chiave pubblica)."** Il server non riconosce la tua chiave. Conferma che hai incollato la riga `.pub`, intera e inalterata, e che il tuo client sta offrendo la chiave privata corrispondente. Aggiungi `-v` al comando ssh per vedere quali chiavi ha tentato.

**"Permesso negato, riprova" su una password.** La password è sbagliata, o l'autenticazione della password è disabilitata perché hai fornito una chiave. Usa la chiave, o la console browser.

**"L'IDENTIFICAZIONE DELL'HOST REMOTO È CAMBIATA."** La chiave host del server è diversa da quella che il tuo client ricorda. Questo è previsto dopo un [rebuild](https://support.kapsulehost.com/it-it/cloud-servers-rebuild), perché il sistema operativo è stato reinstallato. Rimuovi la voce stale per quell'indirizzo IP dal tuo file `known_hosts` e riconnettiti. Se non hai ricostruito nulla, fermati e contattaci prima di connetterti.

**Mi sono bloccato da solo con una regola firewall.** La porta 22 rimane aperta, quindi questo è insolito, ma se una regola dentro il server ti ha bloccato, usa la console browser per rimuoverla.

Se nessuno di quanto sopra ti ottiene una shell, invia un'email a [support@kapsulehost.com](mailto:support@kapsulehost.com) con il nome del server, l'indirizzo da cui ti stai connettendo, e il testo esatto dell'errore.
