SSH Problème de clés avec PUTTY

Bonjour aux membres du forum !

Je déterre ce post car il m’arrive un souci avec les clés générées par PuTTYgen (client sous Windows).
Je crée bien un dossier sur le serveur (Ubuntu 12.04 LTS) sous /home/USER/.ssh en rapatriant la clé publique via WinSCP sous /home/USER.
Ensuite je copie son contenu avec la commande “cat /home/USER/nomdelaclepublique >> /home/USER/.ssh/authorized_keys”.
Je vérifie que le fichier de configuration “sshd_config” est bien la bonne directory dans “AuthorizedKeysFile /home/USER/.ssh/authorized_keys”.
Malgré tout ces vérifications ça ne marche pas.

En lançant PuTTY j’ai un message “Server refused our key” et j’arrive sur l’authentification par mot de passe malgré la modifications des options “RSAAuthentication no” “PubkeyAuthentication yes” “UsePAM no” et j’ai même rajouter “AllowUsers USER”.
J’ai bien redémarrer le service " sudo service ssh restart".

Par contre je n’ai pas modifié les permissions du répertoire /.ssh ou du fichier “authorized_keys” car je n’ai trouvé aucun tuto me précisant cela.
J’utilise la dernière version de PuTTY.

Votre aide me ferait d’une grande utilité, merci à vous pour votre lecture.

Je ne connais pas Putty mais pour ce qui est des droits, le dossier /.ssh doit être placé en 700 et le fichier /authorized_keys en 600. Tous les deux doivent être ‘user:user’.

EDIT :
Puisqu’il semble que tu sois sous Buntu, ils ont un tuto assez complet dont je me suis servi pour les clefs (assez bas dans la page, de mémoire) :
http://doc.ubuntu-fr.org/ssh

Merci Ricardo pour ton intervention :wink:

Pour les droits/permissions, ça se fait uniquement sur la partie serveur ? De plus quand tu écris “user:user” ça veut dire quoi concrètement ?
Car mon client est sous Windows, je n’ai pas de répertoire /.ssh et de fichier “sshd_config” et donc je ne peux pas faire cette partie > “Il faut que le client ait mis sa clé privée en $HOME/.ssh/identity (côté client)”.

D’après le lien, ils précisent :

  • La clé publique du client doit se trouver dans le fichier $HOME/.ssh/authorized_keys du serveur.
  • Il faut que le client ait mis sa clé privée en $HOME/.ssh/identity (côté client).
  • Le répertoire $HOME/.ssh doit appartenir (chown) au propriétaire de $HOME et être en protection 700 (interdit aux autres).
  • Sur le serveur il vaut mieux refuser l’accès par mot de passe (“PasswordAuthentication no” dans /etc/ssh/sshd_config du serveur).

J’ai appliqué les permissions :

chmod go-w ~/
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

Du coup ça marche en local :slightly_smiling:
J’ai crée le fichier “authorized_keys” dans “~/.ssh/” en créant un dossier sous “home/USER/.ssh/” le fichier se répercute dans les deux répertoires.

[quote=“Abracadabra”]Merci Ricardo pour ton intervention :wink:

Pour les droits/permissions, ça se fait uniquement sur la partie serveur ? De plus quand tu écris “user:user” ça veut dire quoi concrètement ?
Car mon client est sous Windows, je n’ai pas de répertoire /.ssh et de fichier “sshd_config” et donc je ne peux pas faire cette partie > “Il faut que le client ait mis sa clé privée en $HOME/.ssh/identity (côté client)”.

D’après le lien, ils précisent :

  • La clé publique du client doit se trouver dans le fichier $HOME/.ssh/authorized_keys du serveur.
  • Il faut que le client ait mis sa clé privée en $HOME/.ssh/identity (côté client).
  • Le répertoire $HOME/.ssh doit appartenir (chown) au propriétaire de $HOME et être en protection 700 (interdit aux autres).
  • Sur le serveur il vaut mieux refuser l’accès par mot de passe (“PasswordAuthentication no” dans /etc/ssh/sshd_config du serveur).

J’ai appliqué les permissions :

chmod go-w ~/
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

Du coup ça marche en local :slightly_smiling:
J’ai crée le fichier “authorized_keys” dans “~/.ssh/” en créant un dossier sous “home/USER/.ssh/” le fichier se répercute dans les deux répertoires.[/quote]
user:user = propriétaire : l’utilisateur donc toi et groupe idem.
Ça se fait avec la commande suivante :

chown toi:toi chemin/du/dossier-ou-fichier

Si ça marche en local, c’est bon.
Tu veux quoi de plus, que tu puisses te connecter de “dehors” ?

Salut,
Il faut ouvrir un autre sujet… Celui-ci a été ouvert en 2011. :083

@ Abracadabra :
Lol a raison, il faut que tu ouvres un autre fil avec un nouveau titre.
On y collera les messages du présent.
Je verrouille celui-là.

C’est fait. :wink:

[quote=“ricardo”]
user:user = propriétaire : l’utilisateur donc toi et groupe idem.
Ça se fait avec la commande suivante :

chown toi:toi chemin/du/dossier-ou-fichier

Si ça marche en local, c’est bon.
Tu veux quoi de plus, que tu puisses te connecter de “dehors” ?[/quote]

User (propriétaire) : User (groupe) se traduit/lit de cette façon ?

En local c’est bon, de l’extérieur je pense aussi en configurant mon routeur (ouverture du port sur l’IP locale du serveur).
Par contre j’ai une question, si je décommente “AuthorizedKeysFile” dans le fichier “sshd_config” ça ne marche pas, est-ce normal ? (commenter = activer et décommenter = désactiver ?).
Maintenant j’aimerai bien “tunneler” une connexion VNC via le protocole SSH, de plus j’aimerai accéder à ma connexion Internet depuis le protocole SSH pour passer à travers un proxy d’entreprise.

Salut,
Ce serait plus simple si tu exposais tout d’un coup…
Ce que tu souhaites faire et quels sont les problèmes rencontrés; Plutôt que de nous dévoiler au fur et à mesure ton objectif.

Justement, c’est préférable d’exposer “étape par étape”.
Je m’y retrouve plus facilement, j’apprends au fur et à mesure, le fil de la discussion me sert à corriger le manque de savoir.

De plus ça permet aux autres membres d’avoir un support capable de donner des informations au besoin.
Plutôt sympa.