Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1327 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs

  [résolu]ssh : activer une connexion exclusivement par clés RSA

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[résolu]ssh : activer une connexion exclusivement par clés RSA

n°767544
kafifi
Posté le 02-01-2006 à 23:35:38  profilanswer
 

Bonsoir à tous,
 
Malgré pas mal de recherches et de manips, je n'arrive pas à me connecter  
à sshd via une clé rsa. (La connexion par mot de passe classique marche).
nb : pour l'instant, je réalise les tests sur un unique PC (serveur et client),  
en me connectant en 127.0.0.1.
 
1 / J'ai créé 1 jeu de clés rsa, et les ai copiées dans :
clé privée =>  /home/test/.ssh/ssh_mine
clé publique => /home/test/.ssh/ssh_mine.pub
clé publique => /home/test/.ssh/authorized_keys
 
2 / J'ai activé dans /etc/ssh/ssh_config les lignes :

Code :
  1. PubkeyAuthentication yes
  2. PasswordAuthentication no


3 / J'ai activé dans /etc/ssh/sshd_config les lignes :

Code :
  1. RSAAuthentication yes
  2. PubkeyAuthentication yes
  3. PasswordAuthentication no
  4. PermitEmptyPasswords no
  5. AuthorizedKeysFile %h/.ssh/authorized_keys


4/ A partir d'une console, j'ai tapé :

Code :
  1. ssh -l test -i  /home/test/.ssh/ssh_mine  test@127.0.0.1


5/ La console m'a retourné :

Code :
  1. Enter passphrase for key '/home/test/.ssh/ssh_mine':


6/ J'ai entré ma paraphrase, mais la même question est reposée.
Au bout de 2 cycles identiques, la console a retourné :

Code :
  1. Permission denied (publickey,password,keyboard-interactive).


J'ai probablement oublié quelque chose, mais je ne vois pas quoi...
Pourriez-vous m'aider à trouver le pb ?
 
D'avance merci.


Message édité par kafifi le 05-01-2006 à 20:30:04
mood
Publicité
Posté le 02-01-2006 à 23:35:38  profilanswer
 

n°767706
Dark_Schne​ider
Close the World, Open the Net
Posté le 03-01-2006 à 18:48:57  profilanswer
 

copier la clé sur le serveur.
 


ssh-copy-id -i /home/test/.ssh/ssh_mine.pub test@127.0.0.1


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
n°767736
kafifi
Posté le 03-01-2006 à 20:54:15  profilanswer
 

Dark_Schneider a écrit :

copier la clé sur le serveur.


ssh-copy-id -i /home/test/.ssh/ssh_mine.pub test@127.0.0.1



 
Voici le résultat:  

Code :
  1. ssh-copy-id -i /home/test/.ssh/ssh_mine.pub test@127.0.0.1
  2. 29
  3. Permission denied (publickey,password,keyboard-interactive).
  4. Now try logging into the machine, with "ssh 'test@127.0.0.1'", and check in:
  5.   .ssh/authorized_keys
  6. to make sure we haven't added extra keys that you weren't expecting.


Je ne comprends pas ce qui se passe...

n°767834
PierreC
Posté le 04-01-2006 à 13:21:39  profilanswer
 

Hello
  Indique moi les fichiers présent dans /home/test/.ssh (ainsi que leur droits)
  Indique moi aussi les droits du fichier /home/test/.ssh  
 
merci

n°767995
kafifi
Posté le 04-01-2006 à 22:14:06  profilanswer
 

PierreC a écrit :

Hello
  Indique moi les fichiers présent dans /home/test/.ssh (ainsi que leur droits)
  Indique moi aussi les droits du fichier /home/test/.ssh  
merci


Bonsoir,
Je viens d'effacer les fichiers et les clés, et refaire toutes les manips ci-dessous.
J'ai démarré en mode user "test" :

Code :
  1. [test@PCTEST .ssh]$ pwd
  2. /home/test/.ssh
  3. [test@PCTEST .ssh]$ ssh-keygen -t dsa -f clef


Création des clés OK dans /home/test/.ssh
Mais la copie de clef.pub via l'utilitaire ne marche pas :

Code :
  1. [test@PCTEST .ssh]$ ssh-copy-id -i clef.pub test@127.0.0.1
  2. 8
  3. Warning: Permanently added '127.0.0.1' (RSA) to the list of known hosts.
  4. Permission denied (publickey,password,keyboard-interactive).
  5. Now try logging into the machine, with "ssh 'test@127.0.0.1'", and check in:
  6.   .ssh/authorized_keys
  7. to make sure we haven't added extra keys that you weren't expecting.


Droit sur les fichiers :

Code :
  1. [test@PCTEST .ssh]$ ls -l
  2. total 12
  3. -rw-------  1 test test 1264 jan  4 21:40 clef
  4. -rw-r--r--  1 test test 1113 jan  4 21:40 clef.pub
  5. -rw-r--r--  1 test test  391 jan  4 21:41 known_hosts


 
Pour débloquer la situation, j'ouvre /etc/ssh/ssh_config et je modifie la ligne :
PasswordAuthentication no => yes
Cette fois l'outil fonctionne (même si ma manip me semble étrange...) :

Code :
  1. [test@PCTEST .ssh]$ ssh-copy-id -i clef.pub test@127.0.0.1
  2. 8
  3. test@127.0.0.1's password:
  4. Now try logging into the machine, with "ssh 'test@127.0.0.1'", and check in:
  5.   .ssh/authorized_keys
  6. to make sure we haven't added extra keys that you weren't expecting.


J'ouvre une session avec authentification par mot de passe sans problème :

Code :
  1. [test@PCTEST .ssh]$ ssh test@127.0.0.1
  2. test@127.0.0.1's password:
  3. Last login: Tue Jan  3 23:13:38 2006 from pctest


Afin de réaliser une authentification pas clé, je remodifie /etc/ssh/ssh_config  et je modifie la ligne :
PasswordAuthentication yes => no
PubkeyAuthentication yes <= l'autorisation par clé est présente
Mais cela ne marche pas :

Code :
  1. [test@PCTEST .ssh]$ ssh -v test@127.0.0.1
  2. OpenSSH_4.2p1, OpenSSL 0.9.7g 11 Apr 2005
  3. debug1: Reading configuration data /etc/ssh/ssh_config
  4. debug1: Applying options for *
  5. debug1: Connecting to 127.0.0.1 [127.0.0.1] port 22.
  6. debug1: Connection established.
  7. debug1: identity file /home/test/.ssh/identity type -1
  8. debug1: identity file /home/test/.ssh/id_rsa type -1
  9. debug1: identity file /home/test/.ssh/id_dsa type -1
  10. debug1: Remote protocol version 2.0, remote software version OpenSSH_4.2
  11. debug1: match: OpenSSH_4.2 pat OpenSSH*
  12. debug1: Enabling compatibility mode for protocol 2.0
  13. debug1: Local version string SSH-2.0-OpenSSH_4.2
  14. debug1: SSH2_MSG_KEXINIT sent
  15. debug1: SSH2_MSG_KEXINIT received
  16. debug1: kex: server->client aes128-cbc hmac-md5 none
  17. debug1: kex: client->server aes128-cbc hmac-md5 none
  18. debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
  19. debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
  20. debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
  21. debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
  22. debug1: Host '127.0.0.1' is known and matches the RSA host key.
  23. debug1: Found key in /home/test/.ssh/known_hosts:1
  24. debug1: ssh_rsa_verify: signature correct
  25. debug1: SSH2_MSG_NEWKEYS sent
  26. debug1: expecting SSH2_MSG_NEWKEYS
  27. debug1: SSH2_MSG_NEWKEYS received
  28. debug1: SSH2_MSG_SERVICE_REQUEST sent
  29. debug1: SSH2_MSG_SERVICE_ACCEPT received
  30. debug1: Authentications that can continue: publickey,password,keyboard-interactive
  31. debug1: Next authentication method: publickey
  32. debug1: Trying private key: /home/test/.ssh/identity
  33. debug1: Trying private key: /home/test/.ssh/id_rsa
  34. debug1: Trying private key: /home/test/.ssh/id_dsa
  35. debug1: Next authentication method: keyboard-interactive
  36. debug1: Authentications that can continue: publickey,password,keyboard-interactive
  37. debug1: No more authentication methods to try.
  38. Permission denied (publickey,password,keyboard-interactive).
  39. [test@PCTEST .ssh]$


 
J'ai essayé de me logguer en root, même refus.
Voici les droits de /home/test/.ssh

Code :
  1. 0 drwxr-xr-x   2 test test   160 jan  4 21:55 .ssh/


 
et les fichiers (authorized_keys a été créé par ssh-copy-id

Code :
  1. [test@PCTEST .ssh]$ ls -l
  2. total 16
  3. -rw-r--r--  1 test test 1113 jan  4 21:55 authorized_keys
  4. -rw-------  1 test test 1264 jan  4 21:40 clef
  5. -rw-r--r--  1 test test 1113 jan  4 21:40 clef.pub
  6. -rw-r--r--  1 test test  391 jan  4 21:41 known_hosts


Merci pour le coup de main (je suis curieux de comprendre la raison du blocage !)


Message édité par kafifi le 04-01-2006 à 22:21:07
n°768003
PierreC
Posté le 04-01-2006 à 22:27:57  profilanswer
 

Le répertoire .ssh doit etre en acces que pour son propriétaire.  
 
chmod 700 /home/test/.ssh
 
Sur certain OS, c'est également necessaire pour les fichier du repertoire.
 
Essaye avec ca et tiens moi au courant.
 
sinon j'ai jamais utiliser "ssh-copy-id" un simple cp suffit, ou bien scp si tu fais une copie par le reseau.

Message cité 1 fois
Message édité par PierreC le 04-01-2006 à 22:28:58

---------------
Du tofu en Alsace : www.tofuhong.com
n°768005
kafifi
Posté le 04-01-2006 à 22:36:05  profilanswer
 

PierreC a écrit :

Le répertoire .ssh doit etre en acces que pour son propriétaire.  
chmod 700 /home/test/.ssh
Sur certain OS, c'est également necessaire pour les fichier du repertoire.
Essaye avec ca et tiens moi au courant.
sinon j'ai jamais utiliser "ssh-copy-id" un simple cp suffit, ou bien scp si tu fais une copie par le reseau.


chmod effectué sur /home/test/.ssh  
=> pas de changement.

Code :
  1. drwx------   2 test test   160 jan  4 21:55 .ssh/


chmod effectué sur tous les fichiers dans  /home/test/.ssh
=> pas de changement.

Code :
  1. -rwx------   1 test test 1113 jan  4 21:55 authorized_keys*
  2. -rwx------   1 test test 1264 jan  4 21:40 clef*
  3. -rwx------   1 test test 1113 jan  4 21:40 clef.pub*
  4. -rwx------   1 test test  391 jan  4 21:41 known_hosts*


nb : je suis toujours en console "user" (mais un test en root donne le même résultat).

n°768006
PierreC
Posté le 04-01-2006 à 22:40:36  profilanswer
 

As tu regardés les logs dans /var/log/messages ou bien si tu as un log spécifique pour ssh ?


---------------
Du tofu en Alsace : www.tofuhong.com
n°768016
kafifi
Posté le 04-01-2006 à 23:33:01  profilanswer
 

PierreC a écrit :

As tu regardés les logs dans /var/log/messages ou bien si tu as un log spécifique pour ssh ?


Dans /var/log/messages
Je trouve quelques lignes de type

Code :
  1. Jan  4 21:58:41 PCTEST sshd[23335]: Accepted password for test from 127.0.0.1 port 42580 ssh2


Rien dans /var/log/syslog
Rien dans /var/log/user.log
Je ne trouve pas de log spécifique pour ssh.
 
Dans /var/log/auth.log, on trouve là aussi quelques lignes relatives à sshd (lorsque je me suis connecté via password)

Code :
  1. Jan  4 21:55:38 PCTEST sshd[23309]: Accepted password for test from 127.0.0.1 port 42574 ssh2
  2. Jan  4 21:58:41 PCTEST sshd[23335]: Accepted password for test from 127.0.0.1 port 42580 ssh2


nb : je suis sous Mandriva 2006
 
 
 
 
 
 
 

n°768018
PierreC
Posté le 04-01-2006 à 23:39:29  profilanswer
 

J'ai juste un doute :  
 
Tu veux que quel user se connecte à quel compte ?
 
car si deux user A et B
 
si A veux se connecter chez B alors tu doit généré les clefs chez B et copier la clef public chez A  
 
car j'ai pas l'impression que tu utilise des répertoires de 2 users là :-)


---------------
Du tofu en Alsace : www.tofuhong.com
mood
Publicité
Posté le 04-01-2006 à 23:39:29  profilanswer
 

n°768021
Dark_Schne​ider
Close the World, Open the Net
Posté le 05-01-2006 à 00:09:24  profilanswer
 

cela ne marche pas parce ssh cherche des fichier nommés id_rsa ou id_dsa et non des fichiers nommés clef.
 
Si tu veux que cela marche tu as 2 solution :
 
1. soit tu renommes clef et clef.pub en id_rsa et id_rsa.pub
 
2. soit tu ajoutes la ligne suivante dans ssh_config :


IdentityFile ~/.ssh/clef


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
n°768270
kafifi
Posté le 05-01-2006 à 20:26:26  profilanswer
 

PierreC a écrit :

J'ai juste un doute :  
 
Tu veux que quel user se connecte à quel compte ?
 
car si deux user A et B
 
si A veux se connecter chez B alors tu doit généré les clefs chez B et copier la clef public chez A  
 
car j'ai pas l'impression que tu utilise des répertoires de 2 users là :-)


Les tests sont réalisés avec un unique user qui s'appelle "test".
Note que cela fonctionne parfaitement en mode connexion "mot de passe",
mais que cela coince en mode "clé".

n°768272
kafifi
Posté le 05-01-2006 à 20:29:32  profilanswer
 

Dark_Schneider a écrit :

cela ne marche pas parce ssh cherche des fichier nommés id_rsa ou id_dsa et non des fichiers nommés clef.
 
Si tu veux que cela marche tu as 2 solution :
 
1. soit tu renommes clef et clef.pub en id_rsa et id_rsa.pub
 
2. soit tu ajoutes la ligne suivante dans ssh_config :


IdentityFile ~/.ssh/clef



@Dark_Schneider,  
@pierreC,
 
La déclaration de "clef" résoud le problème !  
 
Merci à vous deux pour votre support sur le sujet !

n°768470
Taz
bisounours-codeur
Posté le 06-01-2006 à 14:27:43  profilanswer
 

ouah je connaissais pas ssh-copy-id !

n°768570
trictrac
Posté le 06-01-2006 à 19:55:53  profilanswer
 

je me mets un petit flag ici ...

n°772741
Taz
bisounours-codeur
Posté le 17-01-2006 à 20:03:52  profilanswer
 

hum, ça marche pas chez moi en fait
 
benoit@ibook >>> ps auxw | grep ssh-agent
benoit   18518  0.0  0.0   5632   180 ?        Ss   Jan12   0:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session /usr/bin/gnome-session
benoit    9395  0.0  0.1   3652   880 pts/1    S+   20:03   0:00 grep ssh-agent
 
[20:03:45][pts/1][~][#5]
benoit@ibook >>> ssh-add -L
The agent has no identities.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs

  [résolu]ssh : activer une connexion exclusivement par clés RSA

 

Sujets relatifs
[Mandriva][Résolu] XMMS ne lit les MP3 qu'avec la console ![Résolu] Detection du HD sur un Toshiba M40X-299 avec Debian 3.1r1
(RESOLU) [Grisbi] migration depuis Money97 qui plante... :([résolu] Cinelerra et fichier .avi & .mov
[RESOLU] Résolution DNS "castrophiquement" longues !!!!! 10 à 15s[Résolu] Configuration matérielle sous linux
[Résolu] Chipset nForce430 : pas de sonJe n'arrive pas à faire de DNAT - RESOLU
mandrake->plus de droits (apache/mysql) - resolu[Gentoo] Bloquage au premier démarrage (résolu)
Plus de sujets relatifs à : [résolu]ssh : activer une connexion exclusivement par clés RSA


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR