Outils du site

La diminution de la quantité de travail permettant de produire les biens nécessaires devrait être saluée comme un des grands succés de notre imagination créatrice. Que cette diminution soit source de chômage est le signe d'une erreur fondamentale de l'organisation de notre société. Le véritable remède contre le chômage est qu'il n'y ait plus de travail pour personne, mais pour chacun une place dans la société. [Albert Jacquard]

04-linux:30-ssh:10-authentification_par_cle

Ceci est une ancienne révision du document !


Authentification

Voir man ssh

Principe

Pour éviter de se logger en entrant un mot de passe sur la machine distante il faut mettre en place une authentification par clé :

  • que l'utilisateur se génère un couple (public, privé) de clés d'authentification
    • Sur la machine locale
    • Sur la machine distante
  • que la machine distante connaisse la clé publique de l'utilisateur de la machine locale

Le mécanisme d'authentification s'assure lors de la connexion que la clé privée de l’utilisateur correspond à la clé publique connue du serveur distant.

Mise en oeuvre

La commande ssh-keygen génère une couple de clés privée et publique pour l'authentification d'un compte utilisateur.

Pour générer les clés d'un utilisateur :

ssh-keygen -C «user»-«Machine»-«date» (Clé RSA) –> Répondre “return” aux questions (valeurs par défaut)

La paramètre -C permet de fixer un commentaire associé à la clé. «user»-«Machine»-«date» est un choix personnel.
La clé privé ne doit jamais être diffusée à qui que ce soit.

Ces clés sont stockées dans le dossier ~/.ssh

roge@raspi ~ $ ll .ssh
total 8
-rw-r--r-- 1 roge roge    0 Aug  6 00:27 authorized_keys   --> Liste des clé publiques authorisées pour ce compte
-rw------- 1 roge roge 1679 Aug  6 00:26 id_rsa            --> clé privée
-rw-r--r-- 1 roge roge  388 Aug  6 00:26 id_rsa.pub        --> clé publique (à diffuser)

Pour utiliser l'authentification par clé sur une machine distante il faut copier sa clé publique sur la machine distante à la fin du fichier .ssh/authorized_keys :

cat ~/.ssh/id_dsa.pub | ssh -p port user@host “cat - ».ssh/authorized_keys”

L'authentification par clé est nécessaire pour tous les scripts batch qui font du ssh.
En cas de message “Permissions 0644 for '/home/xxx/.ssh/id_rsa' are too open.”

chmod 600 ~/.ssh/id_rsa

Pour les machines Windows, voir PuTTY : Accès à une machine Linux depuis Windows avec PuTTY.

Dernière modification : 2017/10/06 23:40