2_Fichier SSH Config
Simplifier vos connexions SSH avec le fichier config
Si vous en avez assez de taper systématiquement :
ssh user@votreIP
vous pouvez simplifier vos connexions en utilisant :
ssh nomdonné
Pour cela, il suffit d’utiliser le fichier de configuration SSH.
Emplacement du fichier config
Le fichier se trouve dans votre dossier :
~/.ssh/config
S’il n’existe pas, vous pouvez le créer.
Structure générale du fichier
Host hostname1
SSH_OPTION value
SSH_OPTION value
Host hostname2
SSH_OPTION value
Chaque bloc Host représente un alias que vous utiliserez dans votre commande SSH.
Exemple complet
Host monserveur
HostName 192.168.1.10
User rohba
Port 22
IdentityFile ~/.ssh/id_rsa
LogLevel INFO
Compression yes
Vous pourrez ensuite vous connecter simplement avec :
ssh monserveur
Options les plus courantes
Host
Définit un alias ou un groupe d’hôtes.
Host *
Host example.com
Hostname
Adresse réelle du serveur.
Hostname example.com
User
Nom d’utilisateur utilisé pour la connexion.
User myuser
Port
Port SSH.
Port 22
IdentityFile
Chemin vers la clé privée.
IdentityFile ~/.ssh/id_rsa
ForwardAgent
Transfert de l’agent SSH.
ForwardAgent yes
ForwardX11 / ForwardX11Trusted
Transfert X11.
ForwardX11 yes
ForwardX11Trusted yes
ServerAliveInterval / ServerAliveCountMax
Garde la connexion active.
ServerAliveInterval 60
ServerAliveCountMax 3
ProxyCommand
Passer par un serveur intermédiaire.
ProxyCommand ssh -q gateway.example.com nc %h %p
Compression
Active la compression.
Compression yes
LogLevel
Niveau de verbosité.
LogLevel INFO
StrictHostKeyChecking
Accepter automatiquement les nouvelles empreintes.
StrictHostKeyChecking no
UserKnownHostsFile
Fichier alternatif pour les hôtes connus.
UserKnownHostsFile ~/.ssh/known_hosts
ControlMaster / ControlPath / ControlPersist
Multiplexage SSH (réutilisation de connexion).
ControlMaster auto
ControlPath ~/.ssh/controlmasters/%r@%h:%p
ControlPersist 1h
GSSAPIAuthentication / GSSAPIDelegateCredentials
Authentification GSSAPI.
GSSAPIAuthentication yes
GSSAPIDelegateCredentials no
Exemple complet et structuré
Host *
ForwardAgent yes
ForwardX11 yes
ForwardX11Trusted yes
ServerAliveInterval 60
ServerAliveCountMax 3
Compression yes
LogLevel INFO
StrictHostKeyChecking no
UserKnownHostsFile ~/.ssh/known_hosts
ControlMaster auto
ControlPath ~/.ssh/controlmasters/%r@%h:%p
ControlPersist 1h
GSSAPIAuthentication yes
GSSAPIDelegateCredentials no
Host example.com
Hostname example.com
User myuser
Port 22
IdentityFile ~/.ssh/id_rsa