Skip to main content

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