Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2093 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Script en root avec SSHFS sans mot de passe, c'est possible ? (résolu)

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Script en root avec SSHFS sans mot de passe, c'est possible ? (résolu)

n°1365780
nba_pit
Posté le 06-10-2014 à 21:37:31  profilanswer
 

Bonjour,
 
Je suis en train de programmer un raspberry pi (A) sous la disitribution Raspbian.
Actuellement j'essaye de mettre au point un script qui va faire monter le dossier d'un autre raspberry B sur le raspberry A sans mot de passe.
 
La seule commande que j'ai trouvé pour monter un répertoire distant est SSHFS.
 
Si je tape la commande suivante sur le raspberry pi A ça fonctionne bien :

Code :
  1. sudo sshfs -o allow_other pi_B@192.168.1.10:/home/pi/test_pi_B


 
J'accède bien au dossier test_pi_B sur le raspberry A:  

Code :
  1. cd /home/pi/test_pi_B


 
Par contre il me demande le mot de passe du raspberry pi B pour que la commande SSHS fonctionne.
 
 
J'ai suivi le autorail suivant pour accéder à un linux à distance par SSH sans mot de passe : http://lea-linux.org/documentation [...] t_de_passe
Sur le raspberry A si je fait la commande suivante j'accède au raspberry pi B sans mot de passe :

Code :
  1. ssh pi_B@192.168.1.10


 
Par contre si je tape la commande SSHFS (voir ci-dessus) il me demande toujours le mot de passe.  
Savez-vous comment utiliser SSHFS sans mot de passe ?
 
Merci,


Message édité par nba_pit le 23-10-2014 à 20:14:21
mood
Publicité
Posté le 06-10-2014 à 21:37:31  profilanswer
 

n°1365797
lecbee
Posté le 06-10-2014 à 23:47:08  profilanswer
 

Salut.
Tu es obligé d'utiliser SSHFS ?
Parce que sinon le plus simple c'est de faire exécuter la commande directement avec SSH, par exemple :
 

Code :
  1. # ssh root@X.X.X.X "ifconfig"


 
Tu peux faire du scp si c'est pour la copie de fichier.

n°1365800
bardiel
Debian powa !
Posté le 07-10-2014 à 07:23:54  profilanswer
 
n°1366187
nba_pit
Posté le 13-10-2014 à 11:22:29  profilanswer
 


Merci pour tes deux liens.
 
Pour l'authentification par clé là c'est bon mon fichier authorized_keys a été rempli avec le contenu de id_rsa.pub.
 
Mais je ne comprends pas le second site avec la spéfication de la clé à utiliser.  
Il faut utiliser la commande suivante :

Code :
  1. sshfs me@x.x.x.x:/remote/path /local/path/ -o IdentityFile=/path/to/key


 
Quel lien faut-il que je donne pour le IdentityFile ?

n°1366451
l4nkou
Dr House Fan
Posté le 16-10-2014 à 22:35:05  profilanswer
 

le chemin de la clé privée :
/root/.ssh/id_rsa ou /home/tonuser/.ssh/id_rsa


---------------
Les avis, c'est comme les anus, tout le monde en a un.
n°1366566
nba_pit
Posté le 19-10-2014 à 12:11:00  profilanswer
 

l4nkou a écrit :

le chemin de la clé privée :
/root/.ssh/id_rsa ou /home/tonuser/.ssh/id_rsa


Je rajoute

Code :
  1. IdentityFile=/home/monuser/.ssh/id_rsa

 
J'obtiens le message d'erreur suivant :

Code :
  1. fuse: invalid argument `IdentityFile=/home/monuser/.ssh/id_rsa'


Message édité par nba_pit le 19-10-2014 à 12:11:37
n°1366569
blazkowicz
Posté le 19-10-2014 à 13:48:46  profilanswer
 

pourquoi "sudo sshfs" dans ton premier post

 

Pour ma part j'avais fait un sshfs entre deux PC (Mint 13) avec clef et ça marche sans rien faire.
J'ai mis un script exécutable dans /home/truc, à double cliquer dans le gestionaire de fichiers et le contenu de l'autre PC est monté dans /home/truc/bidule.

 

sans rien à spécifier :??:
la commande sshfs étant lancée en tant qu'user (il m'a aussi fallu des années avant de savoir que fusermount -u permet de démonter sans être root, aussi)

Message cité 1 fois
Message édité par blazkowicz le 19-10-2014 à 13:54:40
n°1366570
nba_pit
Posté le 19-10-2014 à 13:58:17  profilanswer
 

blazkowicz a écrit :

pourquoi "sudo sshfs" dans ton premier post
 
Pour ma part j'avais fait un sshfs entre deux PC (Mint 13) avec clef et ça marche sans rien faire.
J'ai mis un script exécutable dans /home/truc, à double cliquer dans le gestionaire de fichiers et le contenu de l'autre PC est monté dans /home/truc/bidule.
 
sans rien à spécifier :??:
la commande sshfs étant lancée en tant qu'user (il m'a aussi fallu des années avant de savoir que fusermount -u permet de démonter sans être root, aussi)


Pourquoi sudo ? J'ai dû voir un tuto qui mettait le sudo.
 
Par contre j'ai relancé la commande et j'ai toujours la même erreur :
 

Code :
  1. sshfs -o allow_other pi@192.168.1.13:/home/pi/test /home/pi/serveur/ IdentityFile=/home/pi/.ssh/id_rsa
  2. fuse: invalid argument `IdentityFile=/home/pi/.ssh/id_rsa'


 

n°1366572
blazkowicz
Posté le 19-10-2014 à 14:11:10  profilanswer
 

C'est une question de syntaxe d'après mes petits tests bidon, ton option a besoin d'être derrère un -o
(à supposer que tu ais besoin de l'option, puisqu'en tant que ton utilisateur il ira chercher tout seul dans ~/.ssh)

 

Les sshfs, les scp ça n'aime pas les fautes de grammaire et d'orthographe (ce que je préfère c'est les répertoires/fichiers avec une apostrophe ou un espace dans le nom)

 

il peut y avoir deux petits trucs à configurer vis à vis de l'usage de fuse par ton utilisteur.

Message cité 1 fois
Message édité par blazkowicz le 19-10-2014 à 14:14:19
n°1366573
nba_pit
Posté le 19-10-2014 à 14:18:53  profilanswer
 

blazkowicz a écrit :

C'est une question de syntaxe d'après mes petits tests bidon, ton option a besoin d'être derrère un -o
(à supposer que tu ais besoin de l'option, puisqu'en tant que ton utilisateur il ira chercher tout seul dans ~/.ssh)
 
Les sshfs, les scp ça n'aime pas les fautes de grammaire et d'orthographe (ce que je préfère c'est les répertoires/fichiers avec une apostrophe ou un espace dans le nom)
 
il peut y avoir deux petits trucs à configurer vis à vis de l'usage de fuse par ton utilisteur.


Merci !
Maintenant ça marche en déplaçant le -o.
 
Il a fallu également que j'enlève allow_user.
 
Voici ma commande :
 

Code :
  1. sshfs pi@192.168.1.13:/home/pi/test /home/pi/serveur/ -o IdentityFile=/home/pi/.ssh/id_rsa

mood
Publicité
Posté le 19-10-2014 à 14:18:53  profilanswer
 

n°1366574
blazkowicz
Posté le 19-10-2014 à 14:44:33  profilanswer
 

à savoir, sur mon PC dit ça à apropos de allow_user et c'est trivial à régler.

 

cela dit, si tu n'as pas besoin de l'option alors autant ne pas la mettre :) (c'était en particulier nécessaire en faisant le sshfs en tant que root, avec le sudo..)

 

fusermount: option allow_other only allowed if 'user_allow_other' is set in /etc/fuse.conf

 

pour être 100% clair : tu peux faire "commande -o truc -o bidule" ou "commande -o truc,bidule" mais en faisant "commande -o truc bidule" eh ben ça ne lui plaît pas du tout. La pauvre commande ou le pauvre shell croient que bidule est un argument (tel qu'un répertoire ou un hôte) au lieu d'une option.

 

Ah oui, le shell s'en fiche et n'en a pas la notion (contrairement à DOS/Windows où dans DIR /?  le /? est identifié comme une option), les commandes ou programmes sous unix/linux ont diverses façon de spécifier/intepréter les options. tar et dd sont de célèbres exemples, avec lesquels tu vas détruire accidentellement tes données en te trompant d'une lettre ou d'une ponctuation.

Message cité 1 fois
Message édité par blazkowicz le 19-10-2014 à 14:57:24
n°1366636
nba_pit
Posté le 20-10-2014 à 18:45:27  profilanswer
 

blazkowicz a écrit :

à savoir, sur mon PC dit ça à apropos de allow_user et c'est trivial à régler.
 
cela dit, si tu n'as pas besoin de l'option alors autant ne pas la mettre :) (c'était en particulier nécessaire en faisant le sshfs en tant que root, avec le sudo..)
 

fusermount: option allow_other only allowed if 'user_allow_other' is set in /etc/fuse.conf


 
pour être 100% clair : tu peux faire "commande -o truc -o bidule" ou "commande -o truc,bidule" mais en faisant "commande -o truc bidule" eh ben ça ne lui plaît pas du tout. La pauvre commande ou le pauvre shell croient que bidule est un argument (tel qu'un répertoire ou un hôte) au lieu d'une option.  
 
Ah oui, le shell s'en fiche et n'en a pas la notion (contrairement à DOS/Windows où dans DIR /?  le /? est identifié comme une option), les commandes ou programmes sous unix/linux ont diverses façon de spécifier/intepréter les options. tar et dd sont de célèbres exemples, avec lesquels tu vas détruire accidentellement tes données en te trompant d'une lettre ou d'une ponctuation.


En fait je vais devoir utiliser cette commande en root :

Code :
  1. sudo sshfs ...


 
Avec sudo ça ne fonctionne pas, normal. Mais impossible aussi de la faire fonctionner avec allow_other dans la commande (peu importe l'endroit).  
 
Pourtant j'ai bien rajouté la ligne 'user_allow_other' dans /etc/fuse.conf.


Message édité par nba_pit le 20-10-2014 à 18:47:23
n°1366637
blazkowicz
Posté le 20-10-2014 à 19:03:09  profilanswer
 

et l'user dans le groupe fuse?

n°1366747
nba_pit
Posté le 23-10-2014 à 10:37:08  profilanswer
 

blazkowicz a écrit :

et l'user dans le groupe fuse?


Lorsque je tape "groups" fuse apparait dans la liste.  
Mais je pense que c'est le compte user qui est dans le groupe fuse et non pas le root, il faudrait peut-être que le root soit dans le groupe fuse.

n°1366762
blazkowicz
Posté le 23-10-2014 à 15:31:43  profilanswer
 

Il me semble que root est dans tous les groupes ou c'est comme si ça l'était (sauf système particulièrement verrouillé avec SElinux par exemple..). En ligne de commande tu as la commande "id".
 

n°1366771
nba_pit
Posté le 23-10-2014 à 17:21:33  profilanswer
 

blazkowicz a écrit :

Il me semble que root est dans tous les groupes ou c'est comme si ça l'était (sauf système particulièrement verrouillé avec SElinux par exemple..). En ligne de commande tu as la commande "id".
 


La commande id donne ce résultat  :
 

Code :
  1. uid=1000(pi) gid=1000(pi) groups=1000(pi),4(adm),20(dialout),24(cdrom),27(sudo),29(audio),44(video),46(plugdev),
  2. 60(games),100(users),105(netdev),108(fuse),999(input),1002(spi),1003(gpio)


Message édité par nba_pit le 23-10-2014 à 17:22:37
n°1366778
nba_pit
Posté le 23-10-2014 à 19:34:38  profilanswer
 

C'est bon j'ai réussi à faire un SSHFS en root, il faut ajouter -o allow_other, ce qui donne :
 

Code :
  1. sshfs -o allow_other pi@192.168.1.13:/home/pi/test /home/pi/serveur/ -o IdentityFile=/home/pi/.ssh/id_rsa


 
 
Merci Blazkowicz pour tes réponses  :)


Message édité par nba_pit le 23-10-2014 à 20:14:38

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Script en root avec SSHFS sans mot de passe, c'est possible ? (résolu)

 

Sujets relatifs
[Bash - Shell] Script qui se lance tant que la condition est pas validErreur script de sauvegarde avec LFTP
Bloquer un linux, c'est possible ?Problème montage dossier avec SSHFS
CAO / DAO sous Linux (en open source) c'est possible ?Script python au démarrage dans /etc/init.d./rcS ?
débutant bash : script de déplacement fichiers/dossiersMot de passe W8 oublié, comment faire avec Linux par USB
Script pour auditer 70 serveurs LinuxProblème script ecriture Rddtool
Plus de sujets relatifs à : Script en root avec SSHFS sans mot de passe, c'est possible ? (résolu)


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR