Opzioni di connessione su ssh (e git)

Sulla scia del precedente articolo riguardo le sequenze di escape di ssh, proseguiamo con alcuni tips riguardo ad ssh utili per semplificarci la vita.

Se si devono fare diverse operazioni su server con impostazioni personalizzate (ad esempio la porta diversa da 22) può essere tedioso ricordarsi le opzioni giuste da passare ad ssh o scp. Quindi, è possibile definire nel proprio file ~/.ssh/config uno o più alias così da omettere utente, porta, hostname esplicito o altre opzioni più creative:

Host myhost
    Hostname dominiolungo.example.com
    User johndoe
    Port 1234

In questo modo, anziché dover digitare ogni volta ssh -p 1234 johndoe@dominiolungo.example.com sarà sufficiente battere semplicemente ssh myhost. Comodo, no?

Queste opzioni si ripercuotono su tutti i servizi che usano openssh come agente ssh di default, come scp, rsync o git. Quindi, se johndoe sta hostando un server git a suo nome, il comando git clone myhost:myrepos/project.git farà il suo dovere alla perfezione.

È possibile specificare anche opzioni più peculiari, ad esempio per instaurare un forwarding X11 (ForwardX11 yes), oppure per effettuare un port forwarding (LocalForward 8080:192.168.1.1:80):

Host mygui
    Host casamia.noip.example.com
    ForwardX11 yes

Host alicegate
    Host casamia.noip.example.com
    LocalForward 8080:192.168.1.1:80

Per maggiori informazioni si rimanda al man di ssh_config.