Outils du site

() Il se dessine de façon tangible, dans votre génération qui monte, mon camarade, une espèce d'ambition glacée d'arriver par le fric et un mépris cynique de tous les idéaux assez peu compatible avec l'idée qu'on se fait de la jeunesse éternelle génératrice de fougues irréfléchies et de colères gratuites. [Pierre Desproges]

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