[SSH] Authentification ssh par cetificat

Fermé
Dglingo - 13 mars 2006 à 11:13
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
- 18 sept. 2006 à 15:39
Bonjour,

Nous avons 5 serveurs sous Debian et nous y accédons en ssh avec un simple mot de passe. ( on a bien sur désactiver la connection du root en ssh).

Je voudrais mettre en place une authentification par certificat (X509) lorsque nous nous connectons sur le serveurs à distance par ssh.

Nous avons des certificats fournis par une autorité de certification.

J'ai cheché des infos mais j'ai trouvé rien de concret

Cela est-il posible?
Comment le met-on en place?

Merci pour tout renseignement

Dglingo

3 réponses

kmf31
Messages postés
1564
Date d'inscription
mercredi 30 mars 2005
Statut
Contributeur
Dernière intervention
22 juin 2007
496
13 mars 2006 à 13:54
C'est possible et ca doit etre fait par les utilisateurs individuellement. Si ce n 'est pas deja fait il faut d'abord creer sur chaque pc (client et serveur !!) un repertoire "~/.ssh" dans le home de l'utilisateur avec les bonnes permissions, seulement "rxw" pour l'utilisateur et RIEN pour le groupe et les autres:
cd ~
mkdir .ssh
chmod 700 .ssh

).
Apres il faut creer sur le pc client une paire de cles privee-publique avec la commande: "ssh-keygen", peut-etre il faut y mettre les bonnes options, regarder soi meme avec "man ssh-keygen". Ce truc cree dans le dossier .ssh (sur le pc client !!) deux fichiers:
id_rsa => ca c'est la cle prive qui ne doit jamais quitter le pc client, et:
id_rsa.pub => ca c'est la cle publique qui va avec l'autre cle prive.

Apres il faut copier le fichier "id_rsa.pub" sur le pc serveur (on peut le faire par "scp" en mettant encore une fois le mot de pas) et sur le pc serveur il faut aller dans le dossier ~/.ssh et ajouter la ligne texte du fichier "id_rsa.pub" dans le fichier: "authorized_keys" avec:
cat id_rsa.pub >> ~/.ssh/authorized_keys

(ceci revient a creer le fichier "authorized_keys" s'il n'existe pas deja, sinon ca y ajoute la ligne avec la nouvelle cle publique).
Une fois c'est fait on pourra faire depuis le pc client un "ssh <nom_pc_serveur>" (ou un "scp ...", "sft ...") sans etre oblige de taper le mot de pass. En principe il faut refaire cette manipe pour chaque pc client qu'on souhaite utiliser sans mot de pass.

A savoir: si le fichier de la cle publique (le "id_rsa.pub") est perdu, c.-a-d. "vole" ou "copie" par quelqu'un d'autre ce n'est pas grave. Ca permettrait theoriquement au voleur de donner un acces a l'utilisateur victime (du vol) au pc du voleur mais pas a l'inverse (le voleur n'aurait pas acces au pc serveur sur le compte de l'utilisateur victime, pour ca il lui manque la cle privee). Pour la securite il faut eviter de se faire voler la cle prive (le fichier "id_rsa" qui est reste sur le pc client). Si toute fois ca arrive il faut effacer la ligne de la cle publique dans le "authorized_keys" sur le serveur et refaire la manipe en recreant une nouvelle pair de cles.

En theorie on pourrait copier la cle prive creee sur un pc client vers d'autres pcs client pour utiliser la meme cle pour se connecter mais ce serait une mauvaise chose a faire car l'operation de copie (entre deux pcs) est potentiellement un risque. La bonne facon de faire est de creer pour chaque client une nouvelle paire de cle et faire en sorte que la cle prive ne quitte jamais le pc client et d'ajouter la cle publique au "authorized_keys" sur le serveur (qui contiendrait ainsi beaucoup des lignes pour differentes cles, une cle par client).
10
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 566
13 sept. 2006 à 12:32
Re,

ne pose pas la question 2 fois
ici et obliger utilisation couple cle prive cle publ#2006 09 13%2012%3A30%3A55

j'avais l'impression que je me suis trompé de thread ;)
lami20j
1
hermiote
Messages postés
9
Date d'inscription
mercredi 13 septembre 2006
Statut
Membre
Dernière intervention
23 janvier 2007
2
13 sept. 2006 à 12:04
bonjour
je viens de mettre en place un serveur ssh sous debian et jai cree une paire de cle prive/public et ai mis la cle publique ds le repertoire $HOME/.ssh/authorized_keys de lutilisateur concerne. cependant quand jessaie de me connecter a mon serveur avec cet utilisateur il me redemande mon mdp???
merci de votre aide
0
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 566
13 sept. 2006 à 12:10
Salut,

Dans le fichier de configuration sshd_config
# interdire l'authentification par mot de passe
PasswordAuthentication no

# autoriser clé RSA
RSAAuthentication yes

# autoriser clé DSA
DSAAuthentication yes

PubkeyAuthentication yes 
AuthorizedKeysFile .ssh/authorized_keys 


Connecte toi avec ssh -v user@server

-v c'est pour le mode verbeux

lami20j
0
hermiote
Messages postés
9
Date d'inscription
mercredi 13 septembre 2006
Statut
Membre
Dernière intervention
23 janvier 2007
2 > lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019

13 sept. 2006 à 17:42
salut a toi
tout dabord merci pour la rapidité de réponse.
en fait mon problème c'est que je veux proscrire la connexion a mon serveur ssh par login/mdp utilise normalement quand je me logue directement sur la machine serveur!!!
pour info : je fais des tests perso chez moi pour pouvoir par la suite mettre en application au boulot donc jai besoin dun max de fiabilite meme si 100% nexiste pas.
merci
ps : desole pour le double post ct une erreur de manip bien sur :)
0
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 566 > hermiote
Messages postés
9
Date d'inscription
mercredi 13 septembre 2006
Statut
Membre
Dernière intervention
23 janvier 2007

13 sept. 2006 à 18:35
Re,

c'est pas grave pour le doublon

J'ai écrit un tuto linux creation environnement openssh chroot
Ca pourra t'intéressé ;)

Avec ce que je t'ai donné chez moi la connexion par mot de passe et interidte.

lami20j
0
hermiote
Messages postés
9
Date d'inscription
mercredi 13 septembre 2006
Statut
Membre
Dernière intervention
23 janvier 2007
2 > lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019

18 sept. 2006 à 15:28
merci encore une fois pour ta réactivité
j'essaie ta méthode et je te tiens au courant
pour ce qui est du chroot je réfléchis à la meilleure méthode à utiliser pour moi : ftp avec un chroot ds le prog genre proftpd ou passer la aussi par ssh et creer un veritable emplacement distinct en y copiant les commendes necessaires (ou accessibles) aux utilisateurs devant sy connecter.
a bientot
0
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 566 > hermiote
Messages postés
9
Date d'inscription
mercredi 13 septembre 2006
Statut
Membre
Dernière intervention
23 janvier 2007

18 sept. 2006 à 15:39
Avec ce que j'ai fait c'est suffisant pour pouvoir utiliser sftp.
A toi de voir.

lami20j
0