SSH : Configuration du client
SSH est LA solution de contrôle à distance pour les machines (stations de travail comme serveurs) qui tournent un OS Unix ou Linux.
On va donc voir comment se simplifier la vie avec tout ces accès.
La configuration du client peut se faire soit globalement pour la machine, soit spécifiquement pour chaque utilisateur, les fichiers étant les mêmes on ne va pas les traiter séparément, c'est à l'utilisation que vous choisirez quelles informations doivent être locales/globales.
Fichier de configuration
# Mes serveurs # # Ne pas vérifier les hôtes # Nom d'utilisateur par défaut Host *.exemple.loc *.exemple.net StrictHostKeyChecking no User username # Accès à GitLab uniquement Host git git.exemple.net Hostname git.exemple.net ClearAllForwardings yes ForwardAgent no ForwardX11 no ForwardX11Trusted no # Accès aux VMs Virtualbox Host vm* Hostname port001.exemple.loc Host vm0002* Port 10023 User root Host vm0001* Port 10022 User root # Autres Host home srv srv.exemple.net Hostname srv.exemple.net User root Host dedie dedie.exemple.net Hostname dedie.exemple.net User root Host tv tv.exemple.loc Hostname tv.exemple.loc User root Host room room.exemple.loc Hostname room.exemple.loc User root # Configuration par défaut Host * ForwardAgent yes ForwardX11 yes ForwardX11Trusted yes # Ajoute le domaine exemple.loc si un nom court est spécifié Match exec "sh -c '! isfqdn %h'" Hostname %h.exemple.loc
Scripts Annexes
isfqdn est un script bash très simple, il permet de savoir si le nom d'hôte passé est un FQDN ou simplement un nom court. Le script renvoi 0 pour un FQDN et 1 pour un nom court. L'utilisation d'un script externe simplifie beaucoup la syntaxe de la ligne dans le fichier.
Pour ma part je l'ai placé dans un dossier bin dans le home de l'utilisateur. Il ne faut par contre pas oublier de s'assurer que ce dossier est bien dans la variable PATH.
#!/bin/bash
TMP=$(echo $1 | grep -P '\.')
EXT=$?
exit $EXT