SSH sans mot de passe

Fermé
DAG - 24 sept. 2007 à 10:13
mamiemando Messages postés 33346 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 novembre 2024 - 29 avril 2010 à 22:53
Bonjour à tous.

Je suis sous Mandriva 2007, et j'ai un programme spéciale qui doit exécuter un srcipt sur un serveur à distance. Le programme utilise ssh pour réaliser la chose. Le code de la connexion pour l'exéciton du script est coder en php de la façon suivante :

$command="ssh " . REMOTE_USERNAME . "@" . $subject_hostname[$i] . " \"" . GRAPH_SCRIPT . " -r --protocols=" . $graph_type_value . " --label=" . $subject_value . " --parameters_id=1";

En gros pour exécuter le script à distance, si je comprends bien, le programme tente de faire un :

ssh login@mon_adresse:/le/chemin/du/script -r blabla --label=blablabla --parameters_id=1

J'ai essayé d'exécuter cette commande. Elle ne marche pas. D'une part il me demande un mot de passe, d'autre part il n'arrive pas à exécuter ce script...Je tiens à préciser que pour le moment je travail sur la même machine, mais qu'a terme, tout se fera à distance, car la machine sur laquelle je fais mes testen local tend à devenir un serveur.
Je me suis donc renseigné dans un premier temps pour savoir comment on fait pour se connecter via ssh sans taper de mot passe, mais [abw@localhost ~]en utilisant un système de clefs.
Et la probleme il me demande toujours un mot de passe !
Je vous décrit un peu le topo. Le serveur web sur lequel tourne le script php est lancer par root (oui je sais c'est pas ce qu'il y a de meiux mais bon...). Le programme php tente d'exécuter le script grace a ssh en se connectant avec un utilistateur : "abw".
Si j'ai bien compris il faut que je génère la clef public de "abw" et que je la copie sur le serveur (la en local) dans le fichier authorized_keys de "root" ?
Par exemple :

[abw@localhost ~]$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/gerard/.ssh/id_dsa): //rien
Enter passphrase (empty for no passphrase): //rien
Enter same passphrase again: //rien

J'ai donc 2 fichiers de créés dans la home dir de "abw"

Je copie donc la clef publique sur le serveur :
[abw@localhost ~]$ cd ~/.ssh
[abw@localhost ~]$ scp id_dsa.pub root@127.0.0.1:

[abw@localhost ~]$ ssh -l root 127.0.0.1
Password:

[root@127.0.0.1 ~]$ cat id_dsa.pub >> .ssh/authorized_keys
[root@127.0.0.1 ~]$ rm id_dsa.pub
[root@127.0.0.1 ~]$ exit

Si après ces manip j'essais de me connecter en ssh de la façon suivante :

[abw@localhost ~]$ ssh -l abw 127.0.0.1

Il me demande un mot de passe :-(

Mais le plus bizard, c'est que lorsque j'essais de me connecter de la façon suivante :

[abw@localhost ~]$ ssh abw:motDePasse@127.0.0.1

Il me redemande mon mot de passe !!

J'ai pourtant décommenté :

Protocol 1,2
# Authentication:
#LoginGraceTime 2m
PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys


Voila toute l'histoire ! Est-ce que quelqu'un aurai une idée ?

4 réponses

slt
j'ai le meme probléme est ce que vous l'avez réglé et commet
merci d'avance
0
mamiemando Messages postés 33346 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 novembre 2024 7 803
28 avril 2010 à 21:03
Pour éviter d'avoir à taper un mot de passe en ssh, il faut configurer une clé ssh :
http://prendreuncafe.com/blog/post/2005/08/29/262-installer-sa-cle-ssh-sur-un-serveur-distant

En général on protège la clé avec un passphrase. Pour éviter d'avoir à taper la passphrase à chaque fois (on n'aurait pas avancé d'un pouce puisque cela reviendrait à taper la passphrase au lieu du mot de passe ssh) mais uniquement la première fois on utilise la commande :

ssh-add


La clé reste accessible tant que le terminal est en vie.

Bonne chance
0
julien1451 Messages postés 168 Date d'inscription mardi 22 septembre 2009 Statut Membre Dernière intervention 13 juillet 2012 21
28 avril 2010 à 22:19
Bonjour, c'est ptet le fait que tu n'as pas de passphrase pour ta clé que le mot de passe est demandé. En tout cas si tu veut te débarrasser définitivement des mots de passe tu met dans ta configuration PasswordAuthentification à no et UsePam à no. Ensuite, je te conseille de mettre un passphrase sur ta clé privée. Si tu ne veut pas tapé cette passphrase tu fais comme mamiemando te l'a suggéré, tu utilise la commande ssh-add.
0
mamiemando Messages postés 33346 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 novembre 2024 7 803
28 avril 2010 à 23:37
Ouais enfin le PasswordAuthentification à no et UsePam à no... très mauvaise idée...
0
julien1451 Messages postés 168 Date d'inscription mardi 22 septembre 2009 Statut Membre Dernière intervention 13 juillet 2012 21
29 avril 2010 à 02:15
pourquoi ? Au moins ça désactive les mots de passe et ça évite les attaques brutes forces. Seul celui possédant une clé valide pourra accéder au serveur. Enfin en tout cas c'est ce que j'ai compris.
0
mamiemando Messages postés 33346 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 novembre 2024 7 803
29 avril 2010 à 22:53
Au temps pour moi tu as raison. C'est moi qui avait mal compris ^^
0