Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 24/11/2014, à 20:49

bwarfff

Problème de connexion SSH avec clé publique

Bonsoir,
j'ai un petit problème que je ne comprends pas, donc avant de désinstaller réinstaller, j'aimerais comprendre.
J'ai un pc portable sous ubuntu, un dédié sous débian, et un raspberry sous raspbian.

Je voudrais que les 3 cités au dessus se connectent entre eux sans taper de mot de passe.
J'ai fait la configuration avec création des clés publiques et privées, copier les clés aux bons endroits, et voici ce qu'il se passe :
- mon portable peut se connecter à mon dédié (avec le compte bwarfff) et au rapsberry (avec le compte pi) sans taper le mot de passe. Je pense que mon portable, il est OK.
- mon rapsberry peut se connecter à mon dédié sans taper le mot de passe (avec le compte bwarfff)
- mon dédié ne peut pas se connecter avec le compte pi sur le raspberry. Il demande tout le temps le mot de passe, alors que j'ai copié la clé sur le raspberry depuis le serveur.

Je ne comprends pas. J'ai copié la clé avec ssh-copy-id et avec la méthode cat clé | ssh ... | cat >> auto...

mais ça ne veut pas. J'ai redemarré ssh, etc... ça veut pas non plus.
Depuis mon pc, j'arrive à me connecter, mais depuis mon dédié.

Qu'est-ce qu'il peut clocher ?
J'arrive pas à déterminer ce qui pose problème. Pourquoi j'y arrive depuis mon PC, pas depuis le serveur ?

Hors ligne

#2 Le 25/11/2014, à 01:17

ytreza

Re : Problème de connexion SSH avec clé publique

Bonsoir !
Les clés vont toujours par paire : de manière générale une clé privée sur la machine cliente, et une clé publique sur la machine serveur. La commande ssh-copy-id et la méthode avec cat  dans la doc permettent de copier la clé publique. Donc, si j'ai bien compris ce que tu décris, il te manque la clé privée sur ton dédié (puisque tu n'a copié que la clé publique dessus donc). Il te suffit de copier la clé privée de ton serveur vers ton dédié. Cette clé ce situe dans le répertoire .ssh de ton répertoire home.

Dernière modification par ytreza (Le 25/11/2014, à 01:20)

Hors ligne

#3 Le 26/11/2014, à 00:02

bwarfff

Re : Problème de connexion SSH avec clé publique

Bonsoir,
merci pour la réponse.
Pour moi, la clé privée reste sur le serveur où elle a été générée, et c'est la clé publique qu'on copie sur les différentes serveurs avec la commande ssh-copy-id ou un cat ... et cette copie va se placer dans le fichier autorized_key du répertoire ssh.

J'ai copié la clé privée de mon serveur (mon raspberry) vers mon dédié quand même, ca ne fonctionne toujours pas. J'ai toujours la demande de mot de passe (de mon dédié vers mon raspberry).
J'ai eu quelques pépins sur mon pi alors du coup j'ai refait la conf, j'ai supprimé le répertoire ssh du compte pi, et j'ai toujours le même problème.
Depuis mon PC, pas de souci pour me connecter.
Depuis le PI, aucun souci pour se connecter à mon PC et mon dédié.
C'est toujours depuis le dédié que ça ne fonctionne. J'ai testé avec le compte root et mon compte "normal".

J'ai pas d'idée...

Hors ligne

#4 Le 26/11/2014, à 02:02

ytreza

Re : Problème de connexion SSH avec clé publique

Re !
Désolé j'avais mal lu la première fois, j'ai fait un amalgamme entre ton dédié et ton raspberry quand tu parlais de serveur. Effectivement ton dédié devait déjà avoir la clé privée pour le coup :X
Qu'as-tu fais exactement ? Tu as créé une paire de clés sur chaque machine (3 paires donc) ? Un jeu de clé pour chaque connexion (soit 6 paires au total) ? Ou tu as créé une seule paire de clés que tu souhaites utiliser sur toutes tes machines ?

Dernière modification par ytreza (Le 26/11/2014, à 02:03)

Hors ligne

#5 Le 26/11/2014, à 09:34

bruno

Re : Problème de connexion SSH avec clé publique

Bonjour,

Quand tu es sur ton serveur dédié utilise l'option -v de la commande ssh pour voir ce qui se passe :

ssh -v pi@tonraspberry

Hors ligne

#6 Le 26/11/2014, à 23:32

bwarfff

Re : Problème de connexion SSH avec clé publique

Bonsoir,
encore merci pour vos retours.

ytreza >>

Depuis mon pc, j'ai généré une clé que j'ai copié sur mon dédié et mon raspberry donc 2 échanges ;
depuis le pi, j'ai généré une clé  que j'ai copié sur mon pc et sur mon dédié (on est à 4 échanges)
Sur mon dédié, j'ai juste envoyé la clé généré depuis le compte root vers le pi.

Si j'ai bien compté, ça fait 5.
Je compte pas envoyé la clé de mon dédié vers mon PC, je ne peux faire la redirection de port de ma box que vers une @ ip.

bruno >>

voila le résultat de la commande ssh -v

debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to IP [IP] port n°port.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file /root/.ssh/id_rsa type -1
debug1: identity file /root/.ssh/id_rsa-cert type -1
debug1: identity file /root/.ssh/id_dsa type -1
debug1: identity file /root/.ssh/id_dsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.0p1 Debian-4
debug1: match: OpenSSH_6.0p1 Debian-4 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.5p1 Debian-6+squeeze5
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host '[PORT]:n°port' is known and matches the RSA host key.
debug1: Found key in /root/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Trying private key: /root/.ssh/id_rsa
debug1: Trying private key: /root/.ssh/id_dsa
debug1: Next authentication method: password
pi@IP's password: 
debug1: Authentication succeeded (password).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: Sending environment.
debug1: Sending env LANG = fr_FR


BLA BLA BLA

pi@pi ~ $ ^C
pi@pi ~ $ déconnexion
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0
debug1: channel 0: free: client-session, nchannels 1
Connection to IP closed.
Transferred: sent 1864, received 2800 bytes, in 7.3 seconds
Bytes per second: sent 255.6, received 384.0
debug1: Exit status 130

dans le résultat je vois ça

debug1: Trying private key: /root/.ssh/id_rsa
debug1: Trying private key: /root/.ssh/id_dsa

ma clé généré depuis le dédiée serait pas bonne ?

Hors ligne

#7 Le 27/11/2014, à 03:36

ytreza

Re : Problème de connexion SSH avec clé publique

Boooon, on vas vérifier les bases, dans 80% des cas, c'est là qu'on se plante et qu'on ne pense pas à vérifier :

sur ton dédié, tu as créé une paire de clés en utilisant la commande :

ssh-keygen -t rsa

ensuite, en restant sur le même compte utilisateur, tu as transféré la clé publique de cette nouvelle paire vers ton raspberry avec cette commande :

ssh-copy-id -i ~/.ssh/id_rsa.pub pi@monRaspberry

et enfin, toujours depuis le même compte utilisateur, tu as tenté de te connecter avec la commande :

ssh pi@monRaspberry

sans succès, c'est bien ça ?

Si c'est le cas, peux tu nous retourner le contenu de ton répertoire .ssh sur ton dédié ? Tu as peut-être généré d'autres clés par accident, et du coup la clé utilisée par défaut n'est pas la bonne

ls -al ~/.ssh

Dans ce répertoire, tu devrais trouver au moins un fichier qui se termine en '.pub'. Si c'est le cas, ouvre-le(s) dans ton éditeur de texte favoris. Tu devrais trouver une suite assez grande de caractères. Sur la session pi de ton raspberry ouvre le fichier '~/.ssh/authorized_keys'. Normalement, une des lignes du fichier authorized_key sur ton raspberry devrais correspondre au contenu d'un fichier '.pub' de ton dédié. Si tu trouves bien cette correspondance, donne nous le nom complet du fichier '.pub' avec lequel tu as trouvé une correspondance.

PS : ne divulgue pas le contenu du fichier, il s'agit d'une clé publique (même si il n'y a pas de gros risques a divulguer cette clé, un peu de discrétion ne fait pas de mal  ^^).

Dernière modification par ytreza (Le 27/11/2014, à 03:50)

Hors ligne

#8 Le 28/11/2014, à 00:00

bwarfff

Re : Problème de connexion SSH avec clé publique

je retrouve bien le contenu du fichier id_server.pub de mon dédié dans le fichier authorized_keys de mon raspberry.

J'ai zieuté dans l'historique de mon dédié, j'ai fais cette commande :
ssh-keygen -t dsa -f ~/.ssh/id_server

Hors ligne

#9 Le 28/11/2014, à 00:53

ytreza

Re : Problème de connexion SSH avec clé publique

ytreza a écrit :

Si c'est le cas, peux tu nous retourner le contenu de ton répertoire .ssh sur ton dédié ? Tu as peut-être généré d'autres clés par accident, et du coup la clé utilisée par défaut n'est pas la bonne

ls -al ~/.ssh

Tu as oublié tongue . Mais c'est pas grave, on sait déjà que la clé vers ton raspberry n'est pas celle par utilisée par defaut.
Essaie cette commande :

ssh pi@monRaspberry -i ~/.ssh/id_server

Évidemment, remplace monRaspberry par l'adresse de ton raspberry. Avec cette commande, tu as encore besoin de renseigner le mot de passe ?

Hors ligne

#10 Le 28/11/2014, à 08:47

bruno

Re : Problème de connexion SSH avec clé publique

Re,

Ton retour de commande (connexion de ton serveur dédié vers ton RaspberryPi) donne :

debug1: Next authentication method: publickey
debug1: Trying private key: /root/.ssh/id_rsa
debug1: Trying private key: /root/.ssh/id_dsa
debug1: Next authentication method: password

On voit que ssh cherche une clé publique dans le dossier /root/.ssh de ton serveur dédié et ne la trouve pas.

Il est fort possible que tu aies créé ta paire de clés sur le serveur dédié en tant qu'utilisateur standard et non en tant que root, si c'est le cas il faut simplement que tu sois l'utilisateur standard et non root sur ton serveur dédié quand tu lances ta commande ssh. Pour t"en assurer il faut vérifier le contenu des dossiers .ssh comme te l'a demandé Ytreza.

ls -l ~./ssh
ls -l /root/.ssh

EDIT : il vaut mieux utiliser des clés rsa et non dsa, c'est plus sûr. Personnellement je désactive même dsa et ecdsa dans sshd_config.

Dernière modification par bruno (Le 28/11/2014, à 08:51)

Hors ligne

#11 Le 29/11/2014, à 13:31

bwarfff

Re : Problème de connexion SSH avec clé publique

ytreza >>
désolé, j'ai oublié de mettre la commande.
Alors quand je regarde dans le dossier .ssh du compte root (compte à parti duquel je veux me connecter sur mon pi), j'ai ça :

drw-------  2 root root 4,0K 25 nov.  22:45 .
drwx------ 13 root root 4,0K 27 nov.  08:59 ..
-rw-------  1 root root  595 25 nov.  22:22 authorized_keys
-rw-------  1 root root  668 24 nov.  17:01 id_server
-rw-------  1 root root  600 24 nov.  17:01 id_server.pub
-rw-------  1 root root  442 24 nov.  16:56 known_hosts

Donc j'ai qu'une clé (id_server), le id_server.pub, c'est la publique je balance quand je fais le ssh-copy-id...

Quand je fais la commande

ssh pi@monRaspberry -i ~/.ssh/id_server

ça passe impec, pas de demande de mot de passe.

J'ai déplacé le fichier .pub ailleurs, desfois que ça gênait, j'ai la demande de mot de passe si je précise pas avec l'option -i

bruno : merci du conseil, je vais remplacer tout ça par du RSA.

Merci pour vos retours.

Hors ligne

#12 Le 30/11/2014, à 02:09

ytreza

Re : Problème de connexion SSH avec clé publique

Hello !

Donc, l'explication à ton problème est que tu as tout simplement nommé ta clé avec un nom différent de celui par défaut.
Si tu veux ne pas avoir à spécifier à chaque connexion quelle clé utiliser, il te suffit de créer un fichier 'config' dans ton répertoire ssh sur ton dédié. Un petit encart dans la doc est dédié à la création de ce fichier tout à la fin de la partie 3.2.
Sinon, si tu ne veux pas te compliquer la vie, il suffit de renommer ton fichier 'id_server' en 'id_rsa' (puisque tu viens de refaire ta clé en rsa tongue ).

Juste pour info, ton fichier ~/.ssh/config devrais ressembler à ça :

Host MonPi
    HostName monRaspberry
    Port 22
    User pi
    IdentityFile ~/.ssh/id_server

En remplaçant 'monRaspberry' par le nom de la machine (ou son ip), et 'MonPi' par le surnom de ton choix.
Ensuite, en tapant simplement

ssh MonPi

tu sera automatiquement connecté à la machine 'monRaspberry' avec le login 'pi' en utilisant la clé  '~/.ssh/id_server'... de quoi réduire l'usure de ton clavier à l'avenir big_smile

Hors ligne

#13 Le 30/11/2014, à 13:59

bwarfff

Re : Problème de connexion SSH avec clé publique

ytreza >>
merci beaucoup !!
Tout est nikel maintenant, c'était bon hier après avoir refait mes clés en RSA et en laissant les options par défaut.

L'astuce du fichier config est géniale smile (je suis une feignasse tongue)

j'ai aussi sécurisé le tout en mettant les options ainsi :

UsePAM no
KerberosAuthentication no
LoginGraceTime 20s
MaxAuthTries 1
GSSAPIAuthentication no
PasswordAuthentication no

et j'ai remis ça partout :

chmod 0600 ~/.ssh/*

Merci beaucoup à vous 2 !

Hors ligne