{{tag>sysadmin cli ssh ssh-client}}
====== SSH (client) ======
Notes concernant l'usage du client SSH.
===== Le fichier config =====
Pour ne pas avoir à définir systématiquement les options de connexion sur la ligne de commande, on peut s’appuyer sur le fichier ''.ssh/config'' avec la syntaxe suivante :
Host hostname1
SSH_OPTION value
SSH_OPTION value
Host hostname2
SSH_OPTION value
Host * !excludePattern
SSH_OPTION value
La directive ''Host'' peut contenir un ou plusieurs motifs permettant de sélectionner quelles options appliquer à l'hote.
==== Exemple de fichier ssh config ====
Host targaryen
HostName 192.168.1.10
User daenerys
Port 7654
IdentityFile ~/.ssh/targaryen.key
Host tyrell
HostName 192.168.10.20
Host martell
HostName 192.168.10.50
Host *ell
user oberyn
Host * !martell
LogLevel INFO
Host *
User root
Compression yes
Lorsqu'on invoque la commande **''ssh targaryen''** le client ssh consulte le fichier de configuration et applique les options définies spécifiquement pour l’hôte ''targaryen''. **Il continue de vérifier si d'autres motifs correspondent séquentiellement**.
La correspondance suivante est ''* !martell'' qui désigne "tout hôte sauf martell", l'option définie ici sera donc utilisée.
La dernière correspondance désigne "tous les hôtes", mais client utilisera seulement l'option ''Compression'' car ''User'' a déjà été définie.
La liste complète des options utilisées par le client sera donc :
HostName 192.168.1.10
User daenerys
Port 7654
IdentityFile ~/.ssh/targaryen.key
LogLevel INFO
Compression yes
===== Redéfinition des options =====
Le client ssh détermine quelles options utiliser en évaluant les éléments suivants dans cet ordre :
- Options spécifiée sur la ligne de commande ;
- Options définies dans le fichier ''~/.ssh/config'' ;
- Options définies dans le fichier ''/etc/ssh/ssh_config''.
===== Références =====
* [[https://linuxize.com/post/using-the-ssh-config-file/|Utiliser le fichier fichier SSH Config (linuxize.com) (en) ]]