|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre à l'essai
![]() Jeremy Étudiant Inscription : mars 2007 Messages : 61 ![]() |
Bonjour tout le monde !
Alors voilà, j'ai un Nas à la maison (Nas4Free, équivalent à FreeNAS en version 7) Je souhaite m'y connecter en SSH avec des clés Privées/Publiques Voilà comment j'ai procédé : Ouverture Session SSH via Putty avec ID/Password en root Code :
je lance powershell : Code :
$connexionServeurSSH = New-SSHSession -Server $nas4free -UserName root -Key $keyFile Je m'y déconnecte : Code :
Remove-SSHSession -Client $connexionServeurSSH Sauf que moi je veux m'y connecter pour un script de backup pour ma famille. Donc une connexion root, c'est quand même pas tip top... Je créé via l'interface GUI un utilisateur backup dont le shell est autorisé. Je test en me connectant au Nas via Putty et ID/Password en backup Code :
je lance powershell : Code :
$connexionServeurSSH = New-SSHSession -Server $nas4free -UserName backup -Key $keyFile2 Error connecting 192.168.0.10. Exception lors de l'appel de «Connect» avec «0» argument(s): «User cannot be authenticated.» Je me suis alors dit... Peut-être faut-il mettre la clé publique non pas dans le "authorized_keys" de backup mais dans celui de "root" en faisant un Code :
# tail backup\.ssh\authorized_keys >> ~\.ssh\authorized_keys Pourquoi est-ce que je n'arrive pas avec un utilisateur perso mais qu'en root tout se passe bien? Qu'est-ce que j'oublie ? EDIT : Mes dossiers .ssh et mes fichiers authorized_keys, pour chacun des comptes possèdent les droits d'écriture pour le possesseur seulement. |
||||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Ingénieur intégration Inscription : décembre 2012 Messages : 401 ![]() |
Bonjour,
Je ne sais pas si j'ai tout compris sur ton problème, mais si le client c'est ton windows 7 et ton serveur ton FREE4NAS (donc je suppose un freebsd), tu devrais en principe concaténer ta clé public dans ton authorized_keys de backup et utiliser la clé privé depuis ton poste client et non l'inverse. Cordialement. |
|
|
00
|
|
|
#3 |
|
Membre à l'essai
![]() Jeremy Étudiant Inscription : mars 2007 Messages : 61 ![]() |
Salut disedorgue
C'est bien ce que je fais Pour preuve, ca fonctionne très bien quand je veux me logger en "root" via SSH Keys Moi je ne comprends pas pourquoi ca marche avec "root" et pas avec "backup" alors que je fais la même procédure... |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Ingénieur intégration Inscription : décembre 2012 Messages : 401 ![]() |
Dans ce cas, il se peut que cela vient de la configuration de ton serveur ssh, et que l'authorized_keys utilisateur se trouve dans un autre répertoire pour n'être pilotable que par root.
un répertoire du genre /etc/ssh/<nom_utilisateur> ou quelque chose comme ça. Regarde ta configuration dans /etc/sshd_config pour "AuthorizedKeysFile" et "AuthorizedPrincipalsFile". man sshd_config pour plus d'informations Cordialement. |
|
|
00
|
|
|
#5 |
|
Membre à l'essai
![]() Jeremy Étudiant Inscription : mars 2007 Messages : 61 ![]() |
Hum, alors dans mon /etc/ssh/sshd_config je n'ai pas de lignes "AuthorizedKeysFile" et "AuthorizedPrincipalsFile"
Dois-je les rajouter du coup ? un tail me donne ceci : Protocol 2 UseDNS no SubSystem sftp /usr/libexec/sftp-server ChallengeResponseAuthentication no Port 22 PermitRootLogin yes AllowTcpForwarding no PasswordAuthentication yes PubkeyAuthentication yes Jdois t'avouer ne pas comprendre grand chose la-dedans.. "AuthorizedPrincipalsFile" n'est pas dans le man "AuthorizedKeysFile" irait donc me chercher mon authorized_keys qui se trouve dans mon repertoire backup ? |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Ingénieur intégration Inscription : décembre 2012 Messages : 401 ![]() |
Alors, dans un premier temps, fait une copie de ton fichier /etc/sshd_config histoire de le restaurer au cas où.
Si tu ne peux accéder a ton free4nas que par ssh, garde toujours une connection dessus dans le cas où il y a un loupé sur la modification du fichier et que ssh ne te permette plus de te connecter. A ce que je vois de ta config, il faudrait modifier juste: par Ensuite, l'un des piège fréquent concernant le fichier authorized_keys, c'est qu'il ne finisse pas par une ligne vide, et donc quand tu concatène une autre clé dedans, celle-ci et la précédente du fichier deviennent inutilisable car les 2 clés se retrouve sur la même ligne. Il faut aussi vérifier les droits du répertoire .ssh de ton user ainsi que les droits de ton fichier authorized_keys (a priori, pour lui cela semble ok, au vu de se que tu as déjà précisé). Cordialement. |
|
|
00
|
|
|
#7 |
|
Membre à l'essai
![]() Jeremy Étudiant Inscription : mars 2007 Messages : 61 ![]() |
Pour ce qui est de l'accès, pas de soucis, le serveur est chez moi, faudra juste que je me lève de ma chaise
j'ai mis ChallengeResponseAuthentication à "yes" j'ai ajouté une ligne vide après mes clés au cas où j'ai fais un /etc/rc.d/sshd restart même résultat :/ Mes deux connexions (en "root" et en "backup") se font à partir du même poste... Ca ne pose pas de soucis ? Mes clés, je dois toutes les mettre dans ~/.ssh/ peu importe qu'elles soient pour une connexion "root" ou "backup" Ou alors je mets les clés pour "root" dans ~/.ssh/ et les clés pour "backup" dans /mnt/nas/backup/.ssh/ ? A l'heure actuelle j'ai ma clé publique pour "backup" dans chacun de mes 2 .ssh/authorized_keys Donc normalement le soucis vient pas de là (c'est une question à titre informatif) Je vois pas trop d'où pourrait venir le problème du coup... |
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Ingénieur intégration Inscription : décembre 2012 Messages : 401 ![]() |
En général, pour un ssh standard, on met les clé ssh dans le fichier authorized_keys qui doit se trouver dans le répertoire .ssh qui lui même se trouve dans le HOME de l'utilisateur, donc dans ton cas, pour l'user backup dans:
une clé égale une ligne et une seule, pas 1 clé sur plusieurs lignes. Si ton authorized_keys de root fonctionne, c'est à dire si tu arrive à te connecter en root sans problème avec sa clé ssh, tu peux aussi dans ce cas le copier à la place du fichier authorized_keys de ton user backup (en respectant la propriété et les droits du fichier pour backup) et essayer de te connecter en tant que backup depuis ton client en utilisant la même clé que pour root.Cet action permettra de retirer la mise en cause de la validité du fichier authorized_keys Après tu peux aussi lancer un depuis ton poste client avec l'option -vvv pour que celui-ci te dise ce qu'il fait ou essaye de faire (en fait c'est le mode verbose de ssh (les 3 v c'est pour un verbose max). Cordialement. |
|
|
00
|
|
|
#9 | ||||||
|
Membre à l'essai
![]() Jeremy Étudiant Inscription : mars 2007 Messages : 61 ![]() |
Bonjour, après pas mal de test et beaucoup d'énervement j'ai décidé de tout recommencer à 0...
Ce que je veux faire : Me connecter à mon serveur à partir d'un client ubuntu en ssh avec clés private/public pour être plus tard utilisé dans un script de sauvegarde. Ce que j'ai fait : Supprimé tout ce qu'il y a dans mes authorized_keys de root ET backup ET dans mon poste client (ubuntu) Supprimé tout ce qu'il y a dans mes known_hosts de root ET backup ET dans mon poste client (ubuntu) J'ai ensuite, sur ubuntu lancé la commande ssh-keygen Pas de passphrase Récupération des fichiers id_rsa, id_rsa.pub Code :
Code :
ubuntu@ubuntu:~/.ssh$ ssh-copy-id -i id_rsa.pub backup@monServeur Code :
Pour ce qui est de sshd_config : Code :
|
||||||
|
|
00
|
|
|
#10 |
|
Expert Confirmé
![]() Inscription : septembre 2006 Messages : 2 375 ![]() |
qu'est-ce qui ne marche pas ?
? vous avez créé un .ssh/ dans /mnt/nas/backup/ mais est-ce que ce dossier est bien le $HOME de l'utilisateur backup et est-ce que l'utilisateur backup a un shell associé ? (voir dans etc/passwd) |
|
|
00
|
|
|
#11 |
|
Membre à l'essai
![]() Jeremy Étudiant Inscription : mars 2007 Messages : 61 ![]() |
Ce qui ne marche pas c'est la connexion ssh avec les clés
Malgré la procédure ci-dessus réalisée, lorsque je fais un ssh backup@monServeur il me demande quand même mon mot de passe, il ne passe pas par les clés d'authentifications. Par contre, si je rentre les mots de passe, je peux très bien me connecter ! J'accède bien au répertoire perso de "backup" J'ai bien un shell d'associé car je l'ai activé dans l'interface d'administration de freenas (enfin, Nas4Free) Et comme je peux m'y connecter parfaitement avec les mots de passe, c'est juste au niveau des clés (ou des droits) que ça doit merder... un cat /etc/passwd me donne concernant backup : backup:*:1008:31:backup:/mnt/nas/backup/:/bin/sh |
|
|
00
|
|
|
#12 |
|
Membre Expert
![]() Ingénieur intégration Inscription : décembre 2012 Messages : 401 ![]() |
Re,
Au vu des précédents posts, je vois que les droits de ton fichier authorized_keys sont chez toi à 644, essaye en les passer a 600. Code :
chmod 600 ~backup/.ssh/authorized_keys |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com