Utiliser SSH

Se connecter

Pour se connecter à une machine linux en SSH, nous avons besoin de :

  • Un nom d'utilisateur
  • Un nom d'hôte ou une adresse IP
  • Un port si celui par défaut (22) a été changé.
  • Un mot de passe
  • Eventuellement un chemin Les informations pour l'exemple :
  • Utilisateur : raoul
  • IP : 192.168.2.51
  • Port : 8122
  • Chemin : /var/www/intranet
ssh -p 8122 raoul@192.168.2.51:/var/www/intranet

Créer une clé locale

Une clé SSH permet de se connecter sans le mot de passe de la connexion SSH, mais avec un choisi par nos soins. De plus dans certains cas le mot de passe n'est pas diffusé par le propriétaire de la machine distante. L'utilisation de la clé est donc le seul moyen de se connecter.

ssh-keygen -t ed25519 -C "raoul.chrismann@mrc-consulting.fr" -f ~/.ssh/nomdelacle

Cette commande va vous demander un mot de passe pour la clé (passphrase) qui permet de sécuriser la clé. Cette dernière ne pourra pas être utilisée sans cette phrase. Deux fichiers ont été créés :

  • /home/rcn/.ssh/nomdelacle ce fichier ne doit jamais être partagé
  • /home/rcn/.ssh/nomdelacle.pub c'est la clé publique destinée à être copiée sur la machine distante

Cette clé peut servir à plusieurs applications différentes.

Afficher la clé publique dans la console

cat ~/.ssh/nomdelacle.pub

Copier la clé publique locale sur la machine distante

ssh-copy-id -p 8122 -i ~/.ssh/nomdelacle.pub raoul@192.168.2.51

Se connecter en utilisant la clé

ssh -p 8122 ~/.ssh/nomdelacle raoul@192.168.2.51

Créer des alias locaux

La création d'alias permet de se connecter simplement en SSH sans avoir à taper la commande avec tous les paramètres

ssh -p 8122 ~/.ssh/nomdelacle raoul@192.168.2.51
# devient
ssh nomdelacle

Créer le fichier ~/.ssh/config

nano ~/.ssh/config
# fichier ~/.ssh/config
Host *
   IgnoreUnknown AddKeysToAgent,UseKeyChain
   AddKeysToAgent yes
   UseKeyChain yes
Host nomdelacle
   HostName 192.168.2.51
   User raoul
   Port 8122
   IdentitiesOnly yes
   IdentityFile ~/.ssh/nomdelacle

A noter :

  • Les options présentes sous Host * sont communes à tous les alias
  • nomdelacle est l'alias à utiliser
  • Plusieurs alias peuvent être créés dans ce fichier