SSH : Authentification automatique

Un article de Olivier Jaulent.

Jump to: navigation, search

Sommaire

Résumé

Pourquoi cet article ? Pour deux raisons :

  • La première, je ne le retrouve jamais sur le net, ou alors je me retrouve dans des doc très complexes qui me prennent un temps fou pour une chose simple
  • La deuxième... bin, ça permet de s'authentifier via SSH de manière automatique, sans mot de passe, et ça c'est très pratique, surtout pour des montages réseaux via SSH !

Note importante

Le document d'origine se trouvait à cette adresse, mais au moment ou j'écris ces lignes il est indisponible (en fait je copie/colle ces lignes à partir du cache de google).

Comment faire

Simplement avec un système de certificat.

Voici comment ça fonctionne

Imaginons un poste client et un poste serveur, nous tentons évidement d’etablir une connexion ssh du client vers le serveur. Habituellement, nous tapons la commande : ssh user@machine , puis l’on entrait le mot de passe.

Pour éviter cela, nous allons faire 2 choses :

  1. Créer un jeu de clés (clé publique et clé privée) sur le client
  2. Copier la clé publique du client sur le serveur.

Voici comment procéder

Générer le jeu de clé/certificat sur le client

ssh-keygen -t dsa

On vous demandera où placer ce jeu, répondez par default. On vous demandera une passphrase pour crypter votre certificat, vous pouvez ne rien mettre si vous estimez que vous seul pouvez acceder à votre compte local du client.

Copiez la clé publique sur le serveur

ssh-copy-id -i ~/.ssh/id_dsa.pub user@machine

Cette commande ne fait qu’ajouter votre clé publique dans un fichier sur le serveur. Voici une commande équivalente (très pratique si votre serveur n'est pas sur le port par défaut) :

cat ~/.ssh/id_dsa.pub | ssh user@machine "cat - >> ~/.ssh/authorized_keys"

Voila, vous pouvez désormais vous identifier sur le serveur sans mot de passe.

Views
Navigation