# Collegarsi

## La Sua chiave SSH

Il Suo VPS Ultra con Linux si apre con la Sua **chiave SSH**: una coppia di file creata sul Suo computer. La parte **pubblica** si installa sul server; la parte **privata** resta sul Suo computer e non si trasmette a nessuno, nemmeno al nostro team.

Su macOS, Linux e Windows 10 o 11 (PowerShell o il Terminale):

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

Accetti la posizione proposta e scelga una passphrase. La Sua chiave pubblica è il file `id_ed25519.pub`: una riga che inizia con `ssh-ed25519`. La trasmetta al nostro team all'ordine: la installiamo sul Suo server durante la sua preparazione.

## Collegarsi in SSH

La scheda del Suo server, sezione **VPS** della Sua area clienti, mostra il comando **Connessione SSH**:

```
ssh root@203.0.113.20
```

Il Suo server ha il proprio indirizzo IPv4: la connessione avviene sulla porta SSH abituale, la 22, o su quella che sceglie in `/etc/ssh/sshd_config`. Una volta che il Suo dominio punta al Suo server, funziona anche il suo nome: `ssh root@app.mia-azienda.it`.

### Una scorciatoia: il file \~/.ssh/config

```
Host mioultra

    HostName 203.0.113.20

    User root

    IdentityFile ~/.ssh/id_ed25519
```

A quel punto basta `ssh mioultra`, e la stessa scorciatoia serve a `scp`, `rsync`, `git` e al Suo editor.

## Aggiungere o sostituire una chiave

Le chiavi del Suo server si trovano in `/root/.ssh/authorized_keys`, una per riga, e le gestisce Lei stesso:

* **aggiungere un collega**: incolli la sua chiave pubblica su una nuova riga del file, oppure gli crei un account proprio (`adduser`) con la sua chiave in `/home/<suo account>/.ssh/authorized_keys`;
* **revocare un accesso**: elimini la sua riga;
* **cambiare computer**: aggiunga la Sua nuova chiave pubblica prima di togliere quella vecchia.

La Sua chiave privata è scomparsa e nessuna chiave Le apre più il server? Invii la Sua nuova chiave pubblica al supporto: il nostro team la installa sul Suo server.

## Trasferire file

```
# un file, verso il server

scp archive.tar.gz root@203.0.113.20:/srv/



# una cartella, sincronizzata

rsync -avz ./build/ root@203.0.113.20:/var/www/app/
```

I programmi SFTP come FileZilla o WinSCP si collegano in **SFTP**, con l'indirizzo del Suo server e la Sua chiave privata.

## Lavorare dal Suo editor

L'estensione **Remote - SSH** di Visual Studio Code apre le cartelle del Suo server come se fossero sul Suo computer: legge il Suo file `~/.ssh/config`, basta scegliere `mioultra`. Gli editor JetBrains offrono la stessa connessione tramite **Remote Development**.

## Windows Server: il Desktop remoto

Un VPS Ultra con Windows Server si apre tramite il **Desktop remoto** (RDP):

1. Su Windows, avvii **Connessione Desktop remoto** (`mstsc`); su macOS, l'applicazione **Windows App** di Microsoft; su Linux, Remmina.
2. Indichi l'indirizzo IPv4 del Suo server, mostrato nella sua scheda.
3. Si colleghi con l'account amministratore fornito dal nostro team alla consegna, poi ne cambi la password alla prima sessione.

Protegga poi il Suo accesso: una password lunga e unica, e il Desktop remoto riservato ai Suoi indirizzi nel firewall di Windows.

## Domande frequenti

### «Permission denied (publickey)»: che cosa verificare?

1. La chiave usata è quella che ci ha trasmesso: `ssh-keygen -lf ~/.ssh/id_ed25519.pub` ne mostra l'impronta.
2. Il Suo comando indica l'utente `root` e l'indirizzo della Sua scheda.
3. Se la Sua chiave ha un altro nome, la indichi: `ssh -i ~/.ssh/mia_chiave root@...`.

Descriva poi la situazione al supporto, con il comando eseguito e il messaggio ottenuto: l'Assistenza integrale La aiuta a ripristinare l'accesso.

### La mia connessione si interrompe quando resto inattivo.

Aggiunga `ServerAliveInterval 60` al Suo blocco in `~/.ssh/config`, ed esegua i comandi lunghi in `tmux` o `screen`, che li mantengono attivi anche dopo la disconnessione.
