Selenith

Projets, Memos, Infos.

[Raspberry - kodi] monter un dossier en sshfs

Maintenant que vous savez comment creer un serveur de fichier en sftp accessible depuis n'importe ou de facon sécurisée, nous allons voir comment le monter à distance sur votre raspberry pi.

Le principe

Vous avez :

- Votre serveur (A) accessible en sftp, contenant vos media (musiques, films, etc).
- Votre raspberry (B) lecteur de media  avec un kodi/xbmc d'installé qui va se connecter sur le serveur A.

(B) au demarrage va automatiquement se connecter sur (A) et monter le dossier de media distant sur un repertoir en local.

 

Configuration

On va editer le fichier qui lance les scripts utilisateur au demarrage de kodi (B). 

nano /etc/rc.local

Ajoutez ensuite dans le fichier et au dessus de la commande exit 0

/bin/sleep 5 #attente du montage de la partition /home au demarrage
/usr/bin/sshfs -o allow_other user_A@domaine.tld:/repertoir/distant /home/pi/sshfs -p 22

user_A : utilisateur local de (A) autorisé a ouvrir une connection sftp.
domaine.tld : l'adresse de (A) sous forme d'ip ou de nom de domaine
/repertoir/distant : le repertoire distant à monter. Si votre config sshd est propre le repertoire sera "/".
/home/pi/sshfs : le repertoire local de (B) dans lequel les media seront montés.

Vous pouvez changer le port (-p 22) par un autre si vous l'avez modifié dans la configuration de (A)

On créé le repertoire de (B) dans lequel sera monté (A)

mkdir /home/pi/sshfs

J'aimerais vous dire que ca suffit, mais il faut tapper un mot de passe au moment du montage du dossier. Hors le but c'est que tout se fasse tout seul. La seule facon de se connecter en ssh sans avoir besoin de tapper un mot de passe est de declarer la machine cliente sur la machine serveur. 

Pour se faire on va generer un couple de clé sur notre petit kodi (B).

sudo ssh-keygen -t rsa

Le sudo est important, il va generer une biclé pour l'utilisateur root. Copiez ensuite le contenu de la clé publique de (B) qui a été générée. Vous le trouverez dans le fichier /root/.ssh/id_rsa.pub.

Connectez vous ensuite à votre serveur de media (A) et collez ce contenu dans le fichier /home/user_A/.ssh/authorized_keys. Si le fichier n'existe pas, creez le.

Vous pouvez tester le bon fonctionnement en tappant la ligne de commande de rc.local avec sudo devant.

sudo /usr/bin/sshfs -o allow_other user_A@domaine.tld:/repertoir/distant /home/pi/sshfs -p 22

Et voila ! Votre serveur de media est accessible de la meme facon qu'un dossier local dans l'interface de kodi/xbmc de (B).

Vous pouvez meme l'emporter et le brancher chez des amis. Tant qu'il est relié au net il se connectera de facon securisée sur votre serveur de fichier en sftp.

 

Demontage (optionel)

Si vous souhaitez demonter le dossier, voici la commande :

fusermount -u /home/pi/sshfs

 

Bugs frequents

Il arrive parfois, selon les versions de ssh, de l'OS ou encore de la hauteur de la marée, que le sshfs ne se monte pas alors que la connection ssh classique se fait bien. Vous pourrez voir dans les logs (auth.log) du client "sshfs read connection reset by peer". Remplacez simplement de nom de domaine du serveur par son IP.

Réagissez à cet article

Pour poster un commentaire, utilisez le formulaire ci-dessous :