Configurer une bonne fois pour toutes ses connexions SSH

Créer une configuration propre à chaque session SSH est très utile dans le cas où les paramètres de connexions sont très hétérogènes.

Par exemple:

1 - Connexion SSH sur le serveur A avec le user USERA sur le port 2000
2 - Connexion SSH sur le serveur B avec le user USERA sur le port 22
3 - Connexion SSH sur le serveur C avec le user USERB sur le port 443 via un proxy
etc etc...

Ca fait beaucoup de paramètres à mémoriser pour chaque connexion.

Il existe donc un fichier config se trouvant dans le répertoire utilisateur ~/.ssh/ (le créer s'il n'existe pas) et dans lequel il est possible d'y paramétrer toutes les connexions SSH.

voir man 5 ssh_config pour plus de détail.

Détail de la config pour la connexion 1 (en rouge, les paramètres à modifier):

Host serveurA
    Hostname mon.serveur.mon.domaine.com (ou l'ip 10.10.10.10)
    User USERA
    Port 2000

   TCPKeepAlive yes

Bien respecter l'indentation

La variable Host accepte n'importe quelle valeur. C'est un identifiant pour le serveur.
La variable Hostname correspond au serveur distant sur lequel on se connecte. On peut y renseigner soit un nom de domaine soit une adresse IP.
La variable User correspond au user avec lequel on se connecte.
La variable Port correspond au port sur lequel on se connecte.

En fonction de cette configuration, la connexion SSH au serveur A s'effectue de cette manière:

$ ssh serveurA

On précise donc uniquement le nom renseigné dans la variable Host du fichier ~/.ssh/config

Détail de la config pour la connexion 3 (en rouge, les paramètres à modifier):

Host serveurC
    Hostname mon.serveur.mon.domaine.com (ou l'ip 12.12.12.12)
    User USERB
    Port 443

   TCPKeepAlive yes
    ProxyCommand corkscrew proxy.domaine.com 8080 %h %p

La variable ProxyCommand contient la ligne de commande à exécuter pour se connecter via le proxy indiqué en rouge. La commande utilise le programme corkscrew. Penser à l'installer s'il ne l'est pas déjà.

$ apt-get install corkscrew

Pour se connecter au serveur C:

$ ssh serveurC

C'est quand même vachement simple ;)

Etiquettes: