Cosa fa#
File di configurazione locale (~/.ssh/config) che permette di mappare parametri complessi (IP, porte, utenti, chiavi) su alias mnemonici. Semplifica l'accesso remoto e permette l'integrazione con IDE come VS Code.
Sintassi#
Il file è strutturato in blocchi gerarchici. Ogni parametro sotto l'intestazione Host deve essere indentato:
Host [nome-alias]
HostName [indirizzo-ip-o-dominio]
User [nome-utente]
IdentityFile [percorso-chiave-privata]
Port [porta-se-diversa-da-22]Comandi essenziali#
| Comando | Cosa fa |
|---|---|
nano ~/.ssh/config | Modifica o crea il file sul tuo host locale (Mac). |
ssh server-lab | Esegue la connessione completa usando l'alias. |
ssh -F percorso/file alias | Usa un file di configurazione alternativo. |
Esempio di configurazione (Laboratorio)#
Bash
# Esempio per il tuo progetto-lab-vm
Host server-lab
HostName 192.168.65.2
User barno
IdentityFile ~/.ssh/id_ed25519_lab
```bash
_Da questo momento, il comando `ssh server-lab` sostituisce l'intera stringa manuale._
## Scenario Reale
In un ambiente SOC o aziendale con decine di server (Jump-host, Web Server, DB), ricordare ogni IP e ogni chiave è impossibile. Il file `ssh-config` funge da **rubrica tecnica**. Inoltre, permette di configurare parametri di sicurezza globali (es. `ServerAliveInterval`) per evitare che le sessioni cadano continuamente.
## Dove l'ho usato
- progetto-lab-vm — Per connettermi al server Ubuntu scrivendo solo `ssh server-lab` invece di digitare IP e utente ogni volta.
## Note personali
> **Analyst Tip:** Questo file è molto più potente di un alias di shell (`.zshrc` o `.bashrc`) perché viene letto nativamente da altri software come **VS Code**, **FileZilla** o **Tabby**. Se configuri un alias qui, lo avrai disponibile in tutti i tuoi strumenti di sviluppo e gestione remota.
## Collegato a
- system — categoria (Hub)
- [ssh](/comandi/ssh/) — comando principale che legge questa configurazione.
- [ssh-key-authentication](/concetti/ssh-key-authentication/) — perché automatizza il puntamento alla `IdentityFile`.


