Ce document explique les différentes étapes pour mettre en place l'authentification par clef
publiques.
Les avantages tirés sont pluriel:
- Evite la propagation des mots de passe root,
- Evite l'utilisation d'un mot de passe trop simple, souvent utilisé pour ne
pas l'oublier, et car les connexion sont nombreuses dans une journée,
- Ajoute une granularité dans la mise en place de la sécurité,
- Facilite le travail quotidien, par des connexions plus rapides.
I - Coté client
1.1 Création des paires de clef privée/publiques cliente.
Les clef sont crée avec la commande `ssh-keygen', il vous sera demander un nom
de fichier, acceptez celui par défaut, puis une pass-phrase (Le mot de passe),
veillez à en choisir un assé long, une phrase serait l'idéal.
$ ssh-keygen -t rsa1 # SSH1
$ ssh-keygen -t rsa # SSH2
$ ssh-keygen -t dsa # SSH2
1.2. L'agent ssh
Maintenant pour éviter d'avoir à taper notre passphrase à chaque connexion,
nous allons utiliser la commande `ssh-agent'. Grâce à lui, nous n'aurons qu'à
taper notre passphrase qu'une fois au début de la journée:
$ eval $(ssh-agent)
Agent pid 2592
puis il nous faut ajouter nos clef.
Rem: si vous avez choisi la même passphrase pour toutes les trois clef, elle
ne vous sera demandée qu'une seulle fois:
$ ssh-add
Enter passphrase for /home/YE01389/.ssh/id_rsa:
Identity added: /home/YE01389/.ssh/id_rsa (/home/YE01389/.ssh/id_rsa)
Identity added: /home/YE01389/.ssh/id_dsa (/home/YE01389/.ssh/id_dsa)
Identity added: /home/YE01389/.ssh/identity (YE01389@CTIRE333)
On peut verifier qu'elles ont bien été prises en compte:
$ ssh-add -l
2048 9a:08:b9:b8:e6:25:bd:6c:4e:8c:25:13:2e:36:62:97 YE01389@CTIRE333 (RSA1)
2048 5b:7f:cd:96:2c:f4:41:66:1a:83:4b:ff:ad:89:85:42 /home/YE01389/.ssh/id_rsa (RSA)
2048 9a:e0:e3:af:b8:65:a1:c6:06:2c:80:8e:8a:1a:c9:30 /home/YE01389/.ssh/id_dsa (DSA)
Coté client c'est Ok.
II - Coté serveur
passons sur l'installation du serveur ssh, et concentrons nous sur le
spécifique pour accepter l'Authentification par Clef publiques.
2.1 La configuration du serveur:
Les options suivante doivent être présentes dans le fichier de conf :
/opt/ssh/etc/sshd_config:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
StrictModes no # Si les droits sur le $HOME ne sont pas 0700
puis pour recharger la config :
$ kill -1 $(cat /var/run/sshd.pid)
2.2 Ajout des clef.
Pour que la connexion soit possible, il nous faut rajouter la(les) clef
publique dans le fichier d'authorization:
Après avoir copié sur le serveur la clef publique (DSA):
$ cat id_dsa.pub >>$HOME/.ssh/authorized_keys
III - Test de connexion
$ ssh unix@support
MMSQYY00 [HP Release B.11.00]
Last successful login for unix: Tue Sep 20 15:12:54 MET-1METDST 2005 on pts/43
Last unsuccessful login for unix: Tue Sep 20 09:58:07 MET-1METDST 2005 on pts/tp
Last login: Mon Aug 29 20:19:36 2005 from VPNRE1NT.arpege
You have mail.
Dans les logs:
Sep 20 15:17:32 mmsqyy00 sshd[24103]: Accepted publickey for unix from 126.52.3.102 port 3546 ssh2
publiques.
Les avantages tirés sont pluriel:
- Evite la propagation des mots de passe root,
- Evite l'utilisation d'un mot de passe trop simple, souvent utilisé pour ne
pas l'oublier, et car les connexion sont nombreuses dans une journée,
- Ajoute une granularité dans la mise en place de la sécurité,
- Facilite le travail quotidien, par des connexions plus rapides.
I - Coté client
1.1 Création des paires de clef privée/publiques cliente.
Les clef sont crée avec la commande `ssh-keygen', il vous sera demander un nom
de fichier, acceptez celui par défaut, puis une pass-phrase (Le mot de passe),
veillez à en choisir un assé long, une phrase serait l'idéal.
$ ssh-keygen -t rsa1 # SSH1
$ ssh-keygen -t rsa # SSH2
$ ssh-keygen -t dsa # SSH2
1.2. L'agent ssh
Maintenant pour éviter d'avoir à taper notre passphrase à chaque connexion,
nous allons utiliser la commande `ssh-agent'. Grâce à lui, nous n'aurons qu'à
taper notre passphrase qu'une fois au début de la journée:
$ eval $(ssh-agent)
Agent pid 2592
puis il nous faut ajouter nos clef.
Rem: si vous avez choisi la même passphrase pour toutes les trois clef, elle
ne vous sera demandée qu'une seulle fois:
$ ssh-add
Enter passphrase for /home/YE01389/.ssh/id_rsa:
Identity added: /home/YE01389/.ssh/id_rsa (/home/YE01389/.ssh/id_rsa)
Identity added: /home/YE01389/.ssh/id_dsa (/home/YE01389/.ssh/id_dsa)
Identity added: /home/YE01389/.ssh/identity (YE01389@CTIRE333)
On peut verifier qu'elles ont bien été prises en compte:
$ ssh-add -l
2048 9a:08:b9:b8:e6:25:bd:6c:4e:8c:25:13:2e:36:62:97 YE01389@CTIRE333 (RSA1)
2048 5b:7f:cd:96:2c:f4:41:66:1a:83:4b:ff:ad:89:85:42 /home/YE01389/.ssh/id_rsa (RSA)
2048 9a:e0:e3:af:b8:65:a1:c6:06:2c:80:8e:8a:1a:c9:30 /home/YE01389/.ssh/id_dsa (DSA)
Coté client c'est Ok.
II - Coté serveur
passons sur l'installation du serveur ssh, et concentrons nous sur le
spécifique pour accepter l'Authentification par Clef publiques.
2.1 La configuration du serveur:
Les options suivante doivent être présentes dans le fichier de conf :
/opt/ssh/etc/sshd_config:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
StrictModes no # Si les droits sur le $HOME ne sont pas 0700
puis pour recharger la config :
$ kill -1 $(cat /var/run/sshd.pid)
2.2 Ajout des clef.
Pour que la connexion soit possible, il nous faut rajouter la(les) clef
publique dans le fichier d'authorization:
Après avoir copié sur le serveur la clef publique (DSA):
$ cat id_dsa.pub >>$HOME/.ssh/authorized_keys
III - Test de connexion
$ ssh unix@support
MMSQYY00 [HP Release B.11.00]
Last successful login for unix: Tue Sep 20 15:12:54 MET-1METDST 2005 on pts/43
Last unsuccessful login for unix: Tue Sep 20 09:58:07 MET-1METDST 2005 on pts/tp
Last login: Mon Aug 29 20:19:36 2005 from VPNRE1NT.arpege
You have mail.
Dans les logs:
Sep 20 15:17:32 mmsqyy00 sshd[24103]: Accepted publickey for unix from 126.52.3.102 port 3546 ssh2
No comments:
Post a Comment