This is an old revision of the document!
Table of Contents
SSH Config
Il file ~/.ssh/config
contiene le configurazioni relative al client SSH, da non confondere con quello del server (/etc/ssh/sshd_config
). E' possibile:
- definire dei parametri per ogni host, in questo modo da usare degli alias
- definire dei parametri di default
Parametri per host
Host gf User root HostName gasistafelice.befair.it
In questo modo e' possibile usare gf
invece di roo@gasistafelice.befair.it
per connettersi al server:
ssh gf
Questi alias si possono usare anche in programmi che a loro volta usano SSH, ad esempio Git. Ad esempio per clonare un repository dal server, si puo' usare:
$ git clone gf:git_repo
In alternativa a:
$ git clone root@gasistafelice.befair.it:git_repo
Parametri di default
Host * User root ServerAliveInterval 300 ControlMaster auto ControlPath ~/.ssh/%r@%h:%p ControlPersist 8h
In questo caso per ogni connessione SSH, viene generata una socket (es: ~/.ssh/root@gasistafelice.befair.it:22
) usata per:
- fungere da multiplexer per tutte le sessioni SSH
- mantenere la connessione persistente per un certo periodo (in questo caso per 8 ore dalla chiusura di tutte le sessioni aperte)
I vantaggi sono:
- minor traffico di rete
- minori tempi di risposta una volta istanziata la connessione
- miglior sicurezza, in quanto si evita la rinegoziazione tramite chiavi asimmetriche di una nuova One-Time-Password ad ogni sessione
Infine ServerAliveInterval
serve a inviare periodicamente un “ping” per mantenere attiva la sessione (mi e' tornato utile nel caso di connessioni instabili)
Nota: non so se e' corretto usare i termini “connessione” e “sessione” in questo modo
Nota: e' importante che i parametri di default siano inseriti in fondo, perche' altrimenti sovrascrivono gli altri.