User Tools

Site Tools


ssh_config

This is an old revision of the document!


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 befair2 bf2
  User root
  HostName befair2.befair.it

In questo modo e' possibile usare bf2 invece di root@befair2.befair.it per connettersi al server:

ssh bf2

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 bf2:git_repo

In alternativa a:

$ git clone root@befair2.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:

  • e' possibile usare la stessa connessione sia per classici utilizzi di SSH che per Ansible (configurando quest'ultimo con la stessa path della socket)
  • minor traffico di rete soprattutto quando ci sono elevati traffici (es: Ansible)
  • 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). Il tempo e' espresso in secondi.

Nota: e' importante che i parametri di default siano inseriti in fondo, perche' altrimenti sovrascrivono gli altri.

ssh_config.1409049346.txt.gz · Last modified: 2014/10/28 11:28 (external edit)