2. SSHFS

Sommaire :

  1. Pré-requis
  2. Installation et configuration de SSHFS avec un Nas Synology
  3. Installation et configuration de Transmission
  4. Installation et configuration d’Openvpn avec VPNfacile.net
  5. Installation et configuration de Couchpotato
  6. Installation et configuration de Sickbeard

Pour l’installation de SSHFS rien de plus simple. A partir de votre serveur et en tant que root :

apt-get install sshfs

Nous allons suite générer nos certificats afin de nous identifier auprès de notre Nas Synology :

ssh-keygen -t rsa

Comme pour mon article sur le SSH nous avons donc 2 fichiers générés : id_rsa et id_rsa.pub. L’idée maintenant est de copier le contenu d’id_rsa.pub vers le compte autorisé à se connecter au service SSH sur mon nas c’est à dire « admin ».

Le contenu de la clé publique doit être copié dans :

« /volume1/homes/admin/.ssh/authorized_keys »

Je ne rentre pas dans les détails ayant déjà expliqué tout ceci dans l’article dédié au SSH.

Maintenant vous pouvez essayer la connexion à partir de votre serveur :

ssh -p 2552 admin@VOTRE_IP_NAS_MAISON

L’IP « Nas Maison » est bien entendu votre IP publique. Vous aurez au préalable effectué la translation de port qui va bien sur votre box 😉 Si cela fonctionne nous allons pouvoir continuer !

Sur votre serveur créer maintenant les deux répertoires destinés à accueillir vos films et séries :

mkdir /mnt/Films
mkdir /mnt/Series

Puis essayez de monter ces dossiers avec la commande sshfs :

sshfs admin@VOTRE_IP_NAS_MAISON:/video/Films /mnt/Films -p 2552

Nous allons maintenant parcourir notre dossier de films :

ls -l /mnt/Films

Si cela fonctionne vous devriez pouvoir voir des films qui se trouvent en réalité sur votre nas dans le partage Vidéo.

A partir de maintenant on pourrait croire que le plus dur est fait. Dans un monde parfait il suffirait d’éditer le fichier « /etc/fstab » qui s’occupe de monter les ressources au démarrage de la machine et de rajouter ces lignes à ce fichier :

sshfs#admin@maison.fragnol.net:/video/Séries          /mnt/Series      fuse        port=1511,delay_connect,_netdev,user,idmap=user,transform_symlinks,identityfile=/root/.ssh/id_rsa,allow_other,default_permissions    0    0
sshfs#admin@maison.fragnol.net:/video/Films          /mnt/Films      fuse        port=2552,delay_connect,_netdev,user,idmap=user,transform_symlinks,identityfile=/root/.ssh/id_rsa,allow_other,default_permissions    0    0

Hélas cela ne fonctionne pas !!!

Malgré que la commande suivante fonctionne :

mount -a #on force les montages présents dans le fichier /etc/fstab

Lors d’un redémarrage cela ne fonctionne pas…

J’ai longuement écumé l’internet à chercher une solution pour finalement me tourner vers une solution plus artisanale : un bon vieux script !

Nous allons donc créer un premier script / service qui se chargera d’executer la commande de montage SSHFS au démarrage de la machine, puis un second script qui se chargera de vérifier que notre montage est toujours actif et auquel cas relancer notre premier script lors d’un problème.

Commencez par créer notre fichier :

nano /etc/init.d/sshfs.sh

Puis ajoutez y ceci :

#!/bin/sh
#
# Simple SSHFS configuration.
#
# Author: fmplaw
#
# chkconfig: 2345 95 05
# description: Mount/Dismount SSHFS
#
### BEGIN INIT INFO
# Provides:          sshfs.sh
# Required-Start:    $syslog $network
# Required-Stop:     $syslog $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start sshfs mount at boot time
# Description:       Custom SSHFS script.
### END INIT INFO
 
fw_start () {
 sshfs -p 2552 admin@home.fragnol.net:/video/Films /mnt/Films
 sshfs -p 2552 admin@home.fragnol.net:/video/Séries /mnt/Series
 killall checkSSHFS  > /dev/null 2>&1
 /usr/bin/checkSSHFS &
}
 
##########################
# Stop the SSHFS mount
##########################
 
fw_stop () {
fusermount -u /mnt/Films > /dev/null 2>&1
fusermount -u /mnt/Series > /dev/null 2>&1
killall checkSSHFS  > /dev/null 2>&1
}
  
case "$1" in
start|restart)
echo -n "Starting SSHFS mount.."
fw_stop
fw_start
echo "done."
;;
stop)
echo -n "Stopping SSHFS mount.."
fw_stop
echo "done."
;;
esac
exit 0

Pensez à modifier les commandes liés à SSHFS  (lignes 21 et 22) en fonction de vos informations IP, port, partage… Ce script reconnait les commandes classiques « start, stop et restart ».

N’oubliez pas de rendre ce script executable :

chmod +x /etc/init.d/sshfs.sh

Puis on fait en sorte qu’il se lance au démarrage de notre machine :

update-rc.d sshfs.sh defaults

Ensuite nous allons créer une second script chargé de vérifier que le partage fonctionne. Sur mon nas j’ai crée dans le partage de mes séries un fichier nommé « .series.up » et l’équivalent dans mon dossier films. Mon script se chargera de vérifier la présence de ces fichiers toutes les 5 minutes. Si le montage présente un problème alors la commande suivante échouera :

ls -l /mnt/Series/.series.up

A ce moment là on relance le service sshfs.sh, tout simplement !

On crée notre script :

nano /usr/bin/checkSSHFS

Puis on y ajoute cela :

#! /bin/bash
#Dans mes répertoires séries et films j'ai un fichier qui m'indique si le montage est ok. Si le fichier n'est pas présent alors je redemarrage le service.
#
while [ 1 -gt 0 ]; do
        sleep 300
                ls -l /mnt/Films/.films.up
        if [ $? -ne 0 ];
        then
                /etc/init.d/sshfs.sh restart
#                echo "Redémarrage SSHFS - PB Films"
        fi
        ls -l /mnt/Series/.series.up
        if [ $? -ne 0 ];
        then
                /etc/init.d/sshfs.sh restart
#                echo "Redémarrage SSHFS - PB Series"
        fi
done

On rends ensuite ce script executable :

chmod +x /usr/bin/checkSSHFS

Vous pouvez maintenant lancer votre service sshfs :

/etc/init.d/sshfs.sh start

Les montages « /mnt/Films » et « /mnt/Series » devraient fonctionner.

Si vous le désirez vous pouvez vérifier que le script checkSSHFS fonctionne en démontant manuellement le répertoire « /mnt/Films » :

fusermount -u /mnt/Films

En théorie le montage devrait être à nouveau fonctionnel sous 5 minutes.

Passons maintenant à l’installation et à la configuration de transmission.

Lire la suite

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.