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 25/08/2016, à 16:06

tintinux

accès SSH avec clé

Bonjour

Pour accéder rapidement à un serveur dédié Ubuntu depuis un autre poste client Ubuntu, j'ai généré une paire de clés RSA sur le /home/monlogin/.ssh , et ajouté la clé publique dans le fichier /home/monlogin/.ssh/authorized_keys du serveur (en créant ce fichier).

Ça marche très bien, je n'ai plus besoin de donner un mot de passe pour me connecter au serveur.

Le problème est que j'essaie de faire la même chose depuis un autre poste client vers le même serveur. J'ai copié la paire de clefs du premier poste client vers le second : le serveur me demande toujours un mot de passe.

J'ai aussi essayé de générer une autre paire de clés et d'ajouter la clef publique dans le fichier /home/monlogin/.ssh/authorized_keys du serveur : pareil !

En fait ça se passe dans les 2 cas exactement comme quand il n'y a pas de fichier authorized_keys sur le serveur.

Qu'est ce qui peut se passer ?  Quelles commandes me permettraient de vérifier si j'ai fait une bêtise, ou bien est-ce qu'il existe des restrictions ou une configuration qui empêcheraient que ça marche ainsi ?

Merci pour toute suggestion !


Ubuntu-MATE 22.04 sur 5 machines de la famille.
Développeur d'applications, dont Gestinux, une compta-gestion libre, multi-plateforme et multi-langues, connectable à une base MySQL, MariaDb ou PostgreSQL, locale ou distante.

Hors ligne

#2 Le 26/08/2016, à 09:26

Compte anonymisé

Re : accès SSH avec clé

bonjour, 
la clé privé est bien avec les droits 600 ?
s'il ne voit pas la clé, il faut lui spécifier le chemin de celle-ci...

ssh  -i ~/.ssh/clé  user@serveur

astuce pour un  raccourci chez chaque client:
créer un fichier config    dans .ssh de chaque client
dans celui-ci: (exemple)

Host pi
HostName adresse serveur
User user
PasswordAuthentication no
IdentityFile ~/.ssh/cle
Port 22

le client  saisit maintenant:        ssh pi       (pratique pour les fainéantasses au sens noble)

#3 Le 29/08/2016, à 08:30

tintinux

Re : accès SSH avec clé

Bonjour et merci pour ton aide

Mais la clé privée possède bien des droits 600   (u=rw g= o=) et elle est bien visible.

J'ai quand même essayé d'en spécifier le chemin avec le paramètre -i mais ça ne change rien, le mot de passe du serveur est toujours demandé sur le poste client...

Que peut-il se passer ?

Cordialement,


Ubuntu-MATE 22.04 sur 5 machines de la famille.
Développeur d'applications, dont Gestinux, une compta-gestion libre, multi-plateforme et multi-langues, connectable à une base MySQL, MariaDb ou PostgreSQL, locale ou distante.

Hors ligne

#4 Le 29/08/2016, à 09:06

Compte anonymisé

Re : accès SSH avec clé

est ce que tu as bien cette ligne dans la configuration ssh ?:

AuthorizedKeysFile      %h/.ssh/authorized_keys

est ce que ça fonctionne si le deuxième client utilise la clé et le login/serveur du premier client ?

Dernière modification par Compte anonymisé (Le 29/08/2016, à 09:09)

#5 Le 29/08/2016, à 09:07

Compte supprimé

Re : accès SSH avec clé

le mot de passe du serveur est toujours demandé sur le poste client...

Tu as laissé l'authentification par mot de passe sur le serveur ?
Veux-tu copier coller ici ta demande de connexion au serveur et sa réponse ? Ce qui t'est demandé est peut-être la phrase de déverrouillage de la clé privée .

#6 Le 29/08/2016, à 09:21

tintinux

Re : accès SSH avec clé

@localhost

1) non,  je n'ai pas cette ligne dans /etc/ssh  (que je n'ai jamais modifié d'ailleurs)

2) oui,  un autre client et le même user avec les mêmes clés privée et publique, peut se connecter au serveur sans avoir à donner le mot de passe.


Ubuntu-MATE 22.04 sur 5 machines de la famille.
Développeur d'applications, dont Gestinux, une compta-gestion libre, multi-plateforme et multi-langues, connectable à une base MySQL, MariaDb ou PostgreSQL, locale ou distante.

Hors ligne

#7 Le 29/08/2016, à 09:23

Compte anonymisé

Re : accès SSH avec clé

tintinux a écrit :

@localhost

1) non,  je n'ai pas cette ligne dans /etc/ssh  (que je n'ai jamais modifié d'ailleurs)

2) oui,  un autre client et le même user avec les mêmes clés privée et publique, peut se connecter au serveur sans avoir à donner le mot de passe.

alors il faut rajouter cette ligne dans /etc/ssh/sshd_config du serveur ssh.

#8 Le 29/08/2016, à 09:25

tintinux

Re : accès SSH avec clé

@Tamarou

Oui j'ai probablement laissé l'authentification par mot de passe sur le serveur, puisque je n'ai pas changé la config ssh du serveur.

Sur le client, ça ressemble à ça :

monuser@monclient:~$ ssh monuser@monserveur.com
monclient@monserveur.com's password: 

Le mot de passe de monuser sur le serveur me permet d'y accéder, ce n'est pas la passphrase de la clé qui est tout à fait différente...

Cordialement,


Ubuntu-MATE 22.04 sur 5 machines de la famille.
Développeur d'applications, dont Gestinux, une compta-gestion libre, multi-plateforme et multi-langues, connectable à une base MySQL, MariaDb ou PostgreSQL, locale ou distante.

Hors ligne

#9 Le 29/08/2016, à 11:24

littlejohn75

Re : accès SSH avec clé

tintinux a écrit :

Sur le client, ça ressemble à ça :

monuser@monclient:~$ ssh monuser@monserveur.com
monclient@monserveur.com's password:

Pourrait-on avoir le retour avec une option verbeuse ( -v ) ?

D'autre part, surtout si vous avez plusieurs jeux de clés, je vous conseille de passer par un agent qui répondra à votre place et donc vous n'aurez plu à taper ni mot de pase ni passphrase.

En ligne de commande cela donne (sur le poste client )

ssh-agent bash   # 1
ssh-add               # 2
ssh-add -l             # 3
ssh -v -v user@serveur

La première commande crée un nouveau shell
La commande 2 charge les identifiants dans l'agent : il vous est demandé de taper votre (vos) passphrase(s)
La commande 3 interroge l'agent pour afficher les empreintes des clés (c'est pour vérifier que c'est OK )
La dernière commande  devrait vous permettre de vous connecter, avec les explications de ce qui est essayé.

Remarque : Lorsque l'agent est instancié, la communication avec le shell se fait via des variables d'environnement

fp2x@drhpcm05:~$ env | fgrep SSH
SSH_CLIENT=10.67.6.40 55289 22
SSH_TTY=/dev/pts/0
SSH_AUTH_SOCK=/tmp/ssh-f14AxqYUI8/agent.23214
SSH_CONNECTION=10.67.6.40 55289 10.67.24.170 22
fp2x@drhpcm05:~$ ssh-add -l
1024 b6:0f:81:4e:f9:9a:a8:97:ef:52:6f:f9:d6:90:67:cb imported-openssh-key  id_dsa (DSA)
1024 1c:22:50:8a:0c:04:98:89:40:90:b9:60:2f:28:83:ab openssh-key du 8 janvier 2003 (RSA)
fp2x@drhpcm05:~$

(avec des clés créées il y a 13 ans sur une Redhat )

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع  تحياتي الخالصة
---
F. Petitjean
Ingénieur civil du Génie Maritime.

Dieu règne au ciel, et l'argent sur la terre.
    Proverbe allemand

Tous les nombres premiers sont impairs, sauf un.
Tous les nombres premiers sont impairs, sauf deux.

Hors ligne

#10 Le 29/08/2016, à 11:47

pires57

Re : accès SSH avec clé

Salut,

je suis un peu étonné que personne ne l'ai encore demandé ... peut-on voir ton fichier de config ssh (sur le serveur)?


Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn

Hors ligne

#11 Le 29/08/2016, à 18:41

tintinux

Re : accès SSH avec clé

@littlejohn75

Merci pour la suggestion de l'option verbeuse, elle m'a permis de comprendre rapidement ce qui n'allait pas !

En changeant le nom du fichier de clés du client en id_rsa  et id_rsa.pub cela passe partout, alors qu'avec un autre nom cela ne passait que sur un de mes deux clients... Je n'ai pourtant jamais changé la configuration locale ssh d'aucun serveur ...

Et, oui, je vais certainement utiliser un agent, sans quoi tout cela ne servirait à rien...

Merci à tous !

Cordialement

Tintinux


Ubuntu-MATE 22.04 sur 5 machines de la famille.
Développeur d'applications, dont Gestinux, une compta-gestion libre, multi-plateforme et multi-langues, connectable à une base MySQL, MariaDb ou PostgreSQL, locale ou distante.

Hors ligne