[SSH] Clé publique/Clé Privée ne fonctionne pas

Bonsoir,

Mon objectif final est de monter un dossier d’un NAS synology (@home) dans un serveur dédié OVH dans un script.
Donc, je dois me débarrasser de la saisie du mot de passe lors de la connexion en ssh(fs).

Je veux donc utiliser le système de clé publique/clé privée.

MES ESSAIS :
un ordinateur portable / NAS Syno / Dédié OVH.
=> Ordinateur portable vers NAS Syno ==> OK
=> Ordinateur portable vers Dédié OVH ==> OK
=> Dédié OVH vers NAS Syno ==> Failed !

Voici le retour shell de ssh-copy-id

[code]max@dedieOVH:~$ ssh-copy-id -i ~/.ssh/id_dsa_dedie_max.pub root@NAS.syno.fr
root@NAS.syno.fr’s password:
Now try logging into the machine, with “ssh ‘root@NAS.syno.fr’”, and check in:

~/.ssh/authorized_keys

to make sure we haven’t added extra keys that you weren’t expecting.

max@dedieOVH:~$
[/code]

En faisant la commande ssh vers le NAS, il me demande le password…

  1. Quels logs regarder pour savoir ce qu’il se passe ?
  2. Une idée de ce qui pose problème ?

Merci pour votre lecture


Ce que j’ai fait pour créer mes clés:

Puis la commande copie citée ci-dessus.

D’aprés ce que tu décris, c’est lorsque tu essaie de te connecter depuis internet à ton NAS que ça ne fonctionne pas.
As tu moyen de tester ordi portable --> NAS en mettant l’ordi hors du LAN ?

Aurais tu un firewall en entrée de ton LAN qui traite différemment ton ordi portable et ton NAS ?
Au niveau du NAS, les connexions ssh depuis internet sont elles autorisées ,

Tout d’abord, merci pour ta participation.

Alors, je me suis connecté en 3G avec l’ordinateur portable, j’ai vérifié que j’avais bien une IP extérieure, et j’ai réussi à me connecter au NAS avec la passphrase.

Ainsi:
=> Pour le firewall, ça fait un moment que je n’ai pas jeté un oeuil, donc je vais vérifier sa configuration.
=> Pour le SSH du NAS, tout est good, sinon, je n’aurais pas pu me connecter de l’extérieur. De plus, la connexion SSH du dédié vers le NAS @home se fait sans problème, c’est juste l’identification par clé publique/clé privée qui ne semble pas fonctionner correctement. D’ailleurs, en visionnant mes logs de connexions du NAS @home, il ne se passe rien quand je passe la commande ssh-copy-id à partir du dédié…

si tu te connectes correctement depuis une IP extérieure sur le NAS, c’est donc purement un probléme de compatibilité d’humeur entre ton dédié et OVH.
Et l à je ne vois que le fichier known-host qui pourrait faire une distinction entre les machines.
Ton dédié est il en IP fixe ?

Je fais un rm des known-host du dédié et du NAS ?

Oui oui, le dédié a une IP fixe.

c’est un peu violent, il existe une option de keygen pour analyser le fichier des hotes connus.
Je ne l’ai pas sous la main, mais tu devrais la trouver facilement.

Salut,

[quote=“Maxdecondé”]Dédié OVH vers NAS Syno ==> Failed !
[/quote]
Passes donc en mode verbeux pour y voir un peu plus clair.
Avec un retour console au complet, tant qu’à faire.

Cela ne pose nul souci, dès la prochaine connexion, , ils seront recréés.
Vérifies simplement les droits de ces futurs fichiers.

Voici le debug de la commande du dédié vers le NAS:

max@dedie:~$ ssh -vv -p 22 root@NAShome.fr OpenSSH_6.0p1 Debian-4, OpenSSL 1.0.1e 11 Feb 2013 debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 19: Applying options for * debug2: ssh_connect: needpriv 0 debug1: Connecting to NAShome.fr [IP_DU_NAS] port 22. debug1: Connection established. debug1: identity file /home/max/.ssh/id_rsa type -1 debug1: identity file /home/max/.ssh/id_rsa-cert type -1 debug1: identity file /home/max/.ssh/id_dsa type -1 debug1: identity file /home/max/.ssh/id_dsa-cert type -1 debug1: identity file /home/max/.ssh/id_ecdsa type -1 debug1: identity file /home/max/.ssh/id_ecdsa-cert type -1 debug1: Remote protocol version 2.0, remote software version OpenSSH_5.8p1-hpn13v11 debug1: match: OpenSSH_5.8p1-hpn13v11 pat OpenSSH_5* debug1: Enabling compatibility mode for protocol 2.0 debug1: Local version string SSH-2.0-OpenSSH_6.0p1 Debian-4 debug2: fd 3 setting O_NONBLOCK debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug2: kex_parse_kexinit: abcde-fgdh-ijkl debug2: kex_parse_kexinit: abcde-fgdh-ijkl debug2: kex_parse_kexinit: 123-5678-9101 debug2: kex_parse_kexinit: 123-5678-9101 debug2: kex_parse_kexinit: 4567-9101-1213 debug2: kex_parse_kexinit: 4567-9101-1213 debug2: kex_parse_kexinit: none,zlib@openssh.com,zlib debug2: kex_parse_kexinit: none,zlib@openssh.com,zlib debug2: kex_parse_kexinit: debug2: kex_parse_kexinit: debug2: kex_parse_kexinit: first_kex_follows 0 debug2: kex_parse_kexinit: reserved 0 debug2: kex_parse_kexinit: az45-az45-az45 debug2: kex_parse_kexinit: ssh-rsa,ssh-dss,ecdsa-sha2-nistp256 debug2: kex_parse_kexinit: 123-5678-9101 debug2: kex_parse_kexinit: 123-5678-9101 debug2: kex_parse_kexinit: az98-az98 debug2: kex_parse_kexinit: az98-az98 debug2: kex_parse_kexinit: none,zlib@openssh.com debug2: kex_parse_kexinit: none,zlib@openssh.com debug2: kex_parse_kexinit: debug2: kex_parse_kexinit: debug2: kex_parse_kexinit: first_kex_follows 0 debug2: kex_parse_kexinit: reserved 0 debug2: mac_setup: found hmac-md5 debug1: kex: server->client aes128-ctr hmac-md5 none debug2: mac_setup: found hmac-md5 debug1: kex: client->server aes128-ctr hmac-md5 none debug1: sending SSH2_MSG_KEX_ECDH_INIT debug1: expecting SSH2_MSG_KEX_ECDH_REPLY debug1: Server host key: ECDSA [b]la_cle_de_l'hote[/b] debug1: checking without port identifier debug1: Host 'NAShome.fr' is known and matches the ECDSA host key. debug1: Found key in /home/max/.ssh/known_hosts:1 debug1: found matching key w/out port debug1: ssh_ecdsa_verify: signature correct debug2: kex_derive_keys debug2: set_newkeys: mode 1 debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug2: set_newkeys: mode 0 debug1: SSH2_MSG_NEWKEYS received debug1: Roaming not allowed by server debug1: SSH2_MSG_SERVICE_REQUEST sent debug2: service_accept: ssh-userauth debug1: SSH2_MSG_SERVICE_ACCEPT received debug2: key: /home/max/.ssh/id_rsa ((nil)) debug2: key: /home/max/.ssh/id_dsa ((nil)) debug2: key: /home/max/.ssh/id_ecdsa ((nil)) debug1: Authentications that can continue: publickey,password debug1: Next authentication method: publickey debug1: Trying private key: /home/max/.ssh/id_rsa debug1: Trying private key: /home/max/.ssh/id_dsa debug1: Trying private key: /home/max/.ssh/id_ecdsa debug2: we did not send a packet, disable method debug1: Next authentication method: password

Serait-ce le nom des clés qui pose problème ?
Le nom de ma clé est id_dsa_dedie_max.pub

En fait, j’ai créé un jeu de clé pour le portable => extérieur (NAS et Dédié) et un jeu de clé Dédié => extérieur (NAS).
Ai-je eu tort ? Il ne me semble pas, étant donné qu’une clé publique dépend d’une clé privée, et que la clé privée est celle de la machine qui veut se connecter…

Ok, j’ai renommé la clé de id_dsa_dedie_max.pub par id_dsa.pub, et ça a fonctionné… Pourquoi ? Je n’en sais rien…

Par défaut, SSH utilise id_rsa/id_dsa, et ne peut deviner que tu veux utiliser id_dsa_dedie_max

Qui plus est, inutile de spécifier le port (22) par défaut.

La spécification du port 22 était une anonymatisation ^^ (il est beau ce néologisme ^^) : j’ai changé le port par défaut.

Comment peut-on changer la recherche du nom de clé par défaut ?
EDIT : En faisant le man, j’ai vu que tu m’avais déjà donné la réponse avec -i … ^^

N’ayant pas eu l’aperçu de ton sshd_config et sans autre précision, je ne suis pas censé le deviner.

Tu aurais tronqué ‘Asnière’ pour xx, là, ma foi …

Oui, tu as raison ^^ mieux vaut ton intervention, au cas où, que mon anonymatisation foireuse^^

Pour ça, tu dois créer un fichier ~/.ssh/config
dans lequel tu mets les données des différents clients, du genre :

[code]Host nomdelamachine
HostName 192.168.X.Y
User machin
PasswordAuthentication no
port N° si différent du 22, sinon, rien
IdentityFile ~/.ssh/nomquetuasdonnéàtaclefprivée, si différent de ‘id_rsa’

Host nomdelamachine
HostName 192.168.X.Y
User truc
PasswordAuthentication no
port N° si différent du 22, sinon, rien
IdentityFile ~/.ssh/nomquetuasdonnéàtaclefprivée, si différent de ‘id_rsa’

et ainsi de suite[/code]

[quote=“ricardo”]Pour ça, tu dois créer un fichier ~/.ssh/config
dans lequel tu mets les données des différents clients, du genre :
[/quote]
J’allais y venir également … sur le poteau.

Trop merci maître Ricardo.

J’en n’ai pas besoin pour l’instant mais j’en aurai l’utilité dans quelques semaines.

Re merci ^^

Je recherche un lien qui m’avait bien servi dans ce domaine.