Ssh:Installation parametrage:Authentification par cle
Authentification par clé
Pré-requis
De nombreux sites et forums présentent encore la notation SSH1 pour le fichier des clés publiques "authorized_keys".
Dans le présent document, nous adoptons le standard SSH2. Ainsi, ce fichier sera nommé authorized_keys2.
Génération des clés
Pour la génération des clés, deux possibilités :
- Vous avez physiquement accès à la machine distante (solution 1)
- Vous n'avez pas physiquement accès à la machine distante (solution 2)
Ces deux solutions sont détaillées ci-dessous.
1. Dans une nouvelle console Cygwin, entrez la commande suivante sur le serveur : ssh-keygen –t rsa pour générer les clés. Puis assurez-vous que les clés sont présentes dans le répertoire .ssh (id_rsa et id_rsa.pub). Note
Lorsque le chemin des clés vous est demandé, acceptez le chemin par défaut. Les clés seront créées dans le répertoire /home/utilisateur_connecté/.ssh.
|
|
2. Récupérez le fichier id_rsa sur la machine locale et chargez-le avec Puttygen (bouton "Load"). Entrez la passphrase lorsqu'elle vous est demandée. |
|
3. Vous devez convertir le format de la clé avec PuTTY pour pouvoir vous connecter (bouton "Save private key"). Note
Les formats de clés sont différents avec PuTTY. Si vous souhaitez utiliser Pageant comme expliqué plus loin, vous devez convertir le format des clés avec PuTTY.
|
- Cygwin doit nécessairement être installé sur la machine locale pour cette procédure. N'utilisez pas Puttygen pour générer les clés car elles sont dans un format différent et vous ne pourrez pas vous connecter. En revanche, comme nous le verrons sur Linux, Puttygen pourra être utilisé.
- Nous supposerons que la machine distante s'appelle FAMILYCOMPUTER et que l'on possède un compte a011830.
Machine locale (connexion directe via Cygwin) | Machine distante (connexion distante avec PuTTY) |
---|---|
ssh-keygen –t rsa cd ~/.ssh dir |
|
login a011830 mkdir .ssh exit |
|
scp id_rsa.pub [email protected]:~/.ssh/newkey | |
login a011830 cd ~/.ssh cat newkey cat newkey >> authorized_keys2 rm newkey chmod 600 authorized_keys2 exit |
Vérification de l'authentification par clé publique
Quelle que soit la solution retenue, la vérification pourra s'effectuer soit par Cygwin (à condition que la clé privée soit présente dans le répertoire /home/nom_utilisateur/.ssh de la machine locale), soit par PuTTY. Nous présentons les tests avec PuTTY car la première solution est relativement simple.
Configurez PuTTY comme suit :
|
|
5. Sélectionnez la catégorie Auth
|
|
9. Lorsque vous vous cliquez sur "Open", une fenêtre vous demande votre identifiant puis, si tout se passe bien, la passphrase. |
Modification du fichier httpd_config
La modification du fichier httpd_config ne pourra se faire que si vous avez un accès physique à la machine distante.
Après avoir vérifié que vous pouvez vous connecter avec la clé publique, vous pouvez interdire l'authentification par mot de passe pour renforcer la sécurité de la machine distante. Ainsi, seuls les utilisateurs qui possèderont une clé privée valide pourront se connecter.
Ouvrez le fichier httpd_config avec VIM (http://www.vim.org/download.php#pc) pour le modifier comme suit :
|
http://www.delafond.org/traducmanfr/man/man5/sshd_config.5.html
Utilisation de Pageant
Qu'est-ce que Pageant?
Pageant signifie "Putty Authentication Agent". Il s'agit d'un programme qui se trouve dans le package d'installation de PuTTY et qui permet de conserver en mémoire des passphrase afin que vous n'ayiez pas à les ressaisir à chaque connexion.
- Afin de conserver une sécurité maximale, Pageant ne stocke pas les couples clé/passphrase sur le disque dur mais en mémoire directement, ce qui a pour conséquence directe une purge de son cache à chaque démarrage.
- Il est néanmoins possible de créer une commande au démarrage afin d'appeler Pageant avec les clés, mais chaque passphrase devra être saisie manuellement :
Comment se servir de Pageant?