31 juil. 2012

Astuces SSH

Quand on doit souvent se connecter par SSH, il devient intéressant d'utiliser des raccourcis ou d'automatiser la connexion, le rebond etc… et tout se passe dans le fichier ~/.ssh/config (vous pouvez créer le fichier s'il n'existe pas)



Alias

Au lien de devoir taper une adresse à ralonge genre sesame-mips.unice.fr (au hasard), j'aimerais pouvoir taper:
ssh fac
Pour cela je dois rajouter les lignes suivantes:
Host fac
HostName sesame-mips.unice.fr

Alias avançés

En fait le paramètre Host peut aussi prendre une expression régulière bash, c'est à dire avec la syntaxe qu'on utiliserait avec un shell bash:
Host github*
HostName github.com
User paraita
IdentityFile ~/.ssh/github/id_rsa
Ainsi, lorsque je forke/clone un depot, ca le fait sous mon identité. (que j'aurais au préalable mis dans ma config sur Github)

Rebond

J'ai appris ça pendant mon stage de fin de M1, on peut faire un rebond vers un autre machine à l'intérieur du réseau sur lequel on se connecte. Dans mon cas pour atteindre une machine du réseau de l'INRIA je devais me connecter sur la passerelle ssh accessible depuis l'extérieur, puis me connecter vers la machine qui m'interesse à l'intérieur. Si la passerelle porte le nom de tata, et que je souhaite me connecter sur toto, je devrais faire ainsi:
ssh toto.domaine.fr
ssh tata.domaine.fr
Tandis qu'avec ma configuration suivante:
Host tata
HostName tata.domaine.fr
User paraita
ProxyCOmmand ssh -q toto.domaine.fr nc %h %p -s toto.domaine.fr
Et ainsi, avec une seule ligne:
ssh tata
je suis connecté directement, je peux même forwarder X11, le rebond forwardera aussi X ! Il existe plusieurs autres astuces, comme activer la compression du flux (Compression yes), option qui serra activée si le Host le suporte évidement.

Aucun commentaire: