~/.ssh/config

Salvare opzioni ricorrenti nella configurazione del client.

Prima di eseguire

Il primo blocco è contenuto di un file, non un comando: modificare localmente ~/.ssh/config. Di norma prevale il primo valore ottenuto; collocare i blocchi Host specifici prima di Host *. Proteggere il file, solitamente con chmod 600 ~/.ssh/config. Non inserirvi password o contenuti di chiavi private. ServerAlive rileva un peer SSH che non risponde, non ogni errore applicativo. ssh -G mostra la configurazione effettiva senza collegarsi e può esporre indirizzi interni o percorsi.

Esempi

Definire l’alias lab con porta, chiave e opzioni keepalive SSH.

Host lab
    HostName server.example.com
    User alice
    Port 2222
    IdentityFile ~/.ssh/id_ed25519
    IdentitiesOnly yes
    ServerAliveInterval 30
    ServerAliveCountMax 3

Collegarsi tramite l’alias o controllarne la configurazione effettiva.

ssh lab
ssh -G lab

Opzioni ed esempi

Host patternComune

Avvia un blocco corrispondente a un alias SSH o a un modello host. Mettere i blocchi specifici prima di quelli generali: viene utilizzato il primo valore ottenuto.

Esempio
Host lab
    HostName server.example.com
HostName / User / PortComune

Imposta l'indirizzo effettivo del server, il nome di accesso e la porta SSH per l'host corrispondente.

Esempio
Host lab
    HostName server.example.com
    User alice
    Port 2222
IdentityFile / IdentitiesOnlyComune

Seleziona una chiave privata e, se impostata su Sì, limita le identità offerte a quelle configurate.

Esempio
Host lab
    IdentityFile ~/.ssh/id_ed25519
    IdentitiesOnly yes
ProxyJumpComune

Connettiti tramite uno o più host jump SSH.

Esempio
Host lab
    ProxyJump alice@bastion.example.com
LocalForward

Configura un ascoltatore locale inoltrato a una destinazione raggiunta dal server SSH.

Esempio
Host lab
    LocalForward 127.0.0.1:15432 db.internal.example.com:5432
RemoteForward

Configurare un ascoltatore remoto inoltrato verso una destinazione raggiunta dal computer locale; si applica la politica del server.

Esempio
Host lab
    RemoteForward 127.0.0.1:18080 127.0.0.1:8080
DynamicForward

Configura un ascoltatore SOCKS locale. I client devono essere configurati separatamente.

Esempio
Host lab
    DynamicForward 127.0.0.1:1080
ExitOnForwardFailure

Interrompe la connessione SSH se non è possibile stabilire i listener di inoltro iniziali richiesti.

Esempio
Host lab
    ExitOnForwardFailure yes
ServerAliveInterval / ServerAliveCountMaxComune

Configura i controlli peer a livello SSH e il numero di controlli senza risposta prima della disconnessione.

Esempio
Host lab
    ServerAliveInterval 30
    ServerAliveCountMax 3
ConnectTimeout

Imposta il timeout della connessione in secondi.

Esempio
Host lab
    ConnectTimeout 10
ForwardAgent

Inoltro dell'agente di controllo. Un host remoto compromesso può richiedere firme; abilitare solo per host attendibili.

Esempio
Host lab
    ForwardAgent no
Include

Includere file di configurazione SSH aggiuntivi; l'ordine influisce sui valori selezionati.

Esempio
Include ~/.ssh/config.d/*.conf

Riferimenti ufficiali

Verificato il 27 ottobre 2026