{"id":339,"date":"2015-02-10T15:33:02","date_gmt":"2015-02-10T14:33:02","guid":{"rendered":"http:\/\/www.fragnol.net\/?page_id=339"},"modified":"2015-02-14T12:17:02","modified_gmt":"2015-02-14T11:17:02","slug":"2-installation-et-configuration-de-sshfs-avec-un-nas-synology","status":"publish","type":"page","link":"https:\/\/www.fragnol.net\/?page_id=339","title":{"rendered":"2. SSHFS"},"content":{"rendered":"<p><span style=\"text-decoration: underline;\"><em><strong>Sommaire :<\/strong><\/em><\/span><\/p>\n<ol>\n<li><a href=\"http:\/\/www.fragnol.net\/?page_id=334\">Pr\u00e9-requis<\/a><\/li>\n<li><strong>Installation et configuration de SSHFS avec un Nas Synology<\/strong><\/li>\n<li><a href=\"http:\/\/www.fragnol.net\/?page_id=359\">Installation et configuration de Transmission<\/a><\/li>\n<li><a href=\"http:\/\/www.fragnol.net\/?page_id=368\">Installation et configuration d\u2019Openvpn avec VPNfacile.net<\/a><\/li>\n<li><a href=\"http:\/\/www.fragnol.net\/?page_id=381\">Installation et configuration de Couchpotato<\/a><\/li>\n<li><a href=\"http:\/\/www.fragnol.net\/?page_id=399\">Installation et configuration de Sickbeard<\/a><\/li>\n<\/ol>\n<hr \/>\n<p>Pour l&rsquo;installation de SSHFS rien de plus simple. A partir de votre serveur et en tant que root :<\/p>\n<pre class=\"lang:default decode:true\" title=\"SSHFS\">apt-get install sshfs<\/pre>\n<p>Nous allons suite g\u00e9n\u00e9rer nos certificats afin de nous identifier aupr\u00e8s de notre Nas Synology :<\/p>\n<pre class=\"lang:default decode:true\" title=\"SSHFS\">ssh-keygen -t rsa<\/pre>\n<p>Comme pour <a href=\"http:\/\/www.fragnol.net\/?p=275\">mon article sur le SSH<\/a> nous avons donc 2 fichiers g\u00e9n\u00e9r\u00e9s : id_rsa et id_rsa.pub. L&rsquo;id\u00e9e maintenant est de copier le contenu d&rsquo;id_rsa.pub vers le compte autoris\u00e9 \u00e0 se connecter au service SSH sur mon nas c&rsquo;est \u00e0 dire \u00ab\u00a0admin\u00a0\u00bb.<\/p>\n<p>Le contenu de la cl\u00e9 publique doit \u00eatre copi\u00e9 dans :<\/p>\n<p><em>\u00ab\u00a0\/volume1\/homes\/admin\/.ssh\/authorized_keys\u00a0\u00bb<\/em><\/p>\n<p>Je ne rentre pas dans les d\u00e9tails ayant d\u00e9j\u00e0 expliqu\u00e9 tout ceci dans l&rsquo;article d\u00e9di\u00e9 au SSH.<\/p>\n<p>Maintenant vous pouvez essayer la connexion \u00e0 partir de votre serveur :<\/p>\n<pre class=\"lang:default decode:true\" title=\"SSHFS\">ssh -p 2552 admin@VOTRE_IP_NAS_MAISON<\/pre>\n<p>L&rsquo;IP \u00ab\u00a0Nas Maison\u00a0\u00bb est bien entendu votre IP publique. Vous aurez au pr\u00e9alable effectu\u00e9 la translation de port qui va bien sur votre box \ud83d\ude09 Si cela fonctionne nous allons pouvoir continuer !<\/p>\n<p>Sur votre serveur cr\u00e9er maintenant les deux r\u00e9pertoires destin\u00e9s \u00e0 accueillir vos films et s\u00e9ries :<\/p>\n<pre class=\"lang:default decode:true\" title=\"SSHFS\">mkdir \/mnt\/Films\r\nmkdir \/mnt\/Series<\/pre>\n<p>Puis essayez de monter ces dossiers avec la commande sshfs :<\/p>\n<pre class=\"lang:default decode:true\" title=\"SSHFS\">sshfs admin@VOTRE_IP_NAS_MAISON:\/video\/Films \/mnt\/Films -p 2552<\/pre>\n<p>Nous allons maintenant parcourir notre dossier de films :<\/p>\n<pre class=\"lang:default decode:true\" title=\"SSHFS\">ls -l \/mnt\/Films<\/pre>\n<p>Si cela fonctionne vous devriez pouvoir voir des films qui se trouvent en r\u00e9alit\u00e9 sur votre nas dans le partage Vid\u00e9o.<\/p>\n<p>A partir de maintenant on pourrait croire que le plus dur est fait. Dans un monde parfait il suffirait d&rsquo;\u00e9diter le fichier<em> \u00ab\u00a0\/etc\/fstab\u00a0\u00bb <\/em>qui s&rsquo;occupe de monter les ressources au d\u00e9marrage de la machine et de rajouter ces lignes \u00e0 ce fichier :<\/p>\n<pre class=\"lang:default decode:true\" title=\"SSHFS\">sshfs#admin@maison.fragnol.net:\/video\/S\u00e9ries\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/mnt\/Series\u00a0\u00a0\u00a0\u00a0\u00a0 fuse\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0port=1511,delay_connect,_netdev,user,idmap=user,transform_symlinks,identityfile=\/root\/.ssh\/id_rsa,allow_other,default_permissions\u00a0\u00a0 \u00a00\u00a0\u00a0 \u00a00\r\nsshfs#admin@maison.fragnol.net:\/video\/Films\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/mnt\/Films\u00a0\u00a0\u00a0\u00a0\u00a0 fuse\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0port=2552,delay_connect,_netdev,user,idmap=user,transform_symlinks,identityfile=\/root\/.ssh\/id_rsa,allow_other,default_permissions\u00a0\u00a0 \u00a00\u00a0\u00a0 \u00a00<\/pre>\n<p><span style=\"text-decoration: underline;\"><strong>H\u00e9las cela ne fonctionne pas !!!<\/strong><\/span><\/p>\n<p>Malgr\u00e9 que la commande suivante fonctionne :<\/p>\n<pre class=\"lang:default decode:true\" title=\"SSHFS\">mount -a #on force les montages pr\u00e9sents dans le fichier \/etc\/fstab<\/pre>\n<p>Lors d&rsquo;un red\u00e9marrage cela ne fonctionne pas&#8230;<\/p>\n<p>J&rsquo;ai longuement \u00e9cum\u00e9 l&rsquo;internet \u00e0 chercher une solution pour finalement me tourner vers une solution plus artisanale : un bon vieux script !<\/p>\n<p>Nous allons donc cr\u00e9er un premier script \/ service qui se chargera d&rsquo;executer la commande de montage SSHFS au d\u00e9marrage de la machine, puis un second script qui se chargera de v\u00e9rifier que notre montage est toujours actif et auquel cas relancer notre premier script lors d&rsquo;un probl\u00e8me.<\/p>\n<p>Commencez par cr\u00e9er notre fichier :<\/p>\n<pre class=\"lang:default decode:true\" title=\"SSHFS\">nano \/etc\/init.d\/sshfs.sh<\/pre>\n<p>Puis ajoutez y ceci :<\/p>\n<pre class=\"lang:default decode:true\" title=\"SSHFS\">#!\/bin\/sh\r\n#\r\n# Simple SSHFS configuration.\r\n#\r\n# Author: fmplaw\r\n#\r\n# chkconfig: 2345 95 05\r\n# description: Mount\/Dismount SSHFS\r\n#\r\n### BEGIN INIT INFO\r\n# Provides:          sshfs.sh\r\n# Required-Start:    $syslog $network\r\n# Required-Stop:     $syslog $network\r\n# Default-Start:     2 3 4 5\r\n# Default-Stop:      0 1 6\r\n# Short-Description: Start sshfs mount at boot time\r\n# Description:       Custom SSHFS script.\r\n### END INIT INFO\r\n \r\nfw_start () {\r\n sshfs -p 2552 admin@home.fragnol.net:\/video\/Films \/mnt\/Films\r\n sshfs -p 2552 admin@home.fragnol.net:\/video\/S\u00e9ries \/mnt\/Series\r\n killall checkSSHFS  &gt; \/dev\/null 2&gt;&amp;1\r\n \/usr\/bin\/checkSSHFS &amp;\r\n}\r\n \r\n##########################\r\n# Stop the SSHFS mount\r\n##########################\r\n \r\nfw_stop () {\r\nfusermount -u \/mnt\/Films &gt; \/dev\/null 2&gt;&amp;1\r\nfusermount -u \/mnt\/Series &gt; \/dev\/null 2&gt;&amp;1\r\nkillall checkSSHFS  &gt; \/dev\/null 2&gt;&amp;1\r\n}\r\n  \r\ncase \"$1\" in\r\nstart|restart)\r\necho -n \"Starting SSHFS mount..\"\r\nfw_stop\r\nfw_start\r\necho \"done.\"\r\n;;\r\nstop)\r\necho -n \"Stopping SSHFS mount..\"\r\nfw_stop\r\necho \"done.\"\r\n;;\r\nesac\r\nexit 0<\/pre>\n<p>Pensez \u00e0 modifier les commandes li\u00e9s \u00e0 SSHFS\u00a0 (lignes 21 et 22) en fonction de vos informations IP, port, partage&#8230; Ce script reconnait les commandes classiques \u00ab\u00a0start, stop et restart\u00a0\u00bb.<\/p>\n<p>N&rsquo;oubliez pas de rendre ce script executable :<\/p>\n<pre class=\"lang:default decode:true\" title=\"SSHFS\">chmod +x \/etc\/init.d\/sshfs.sh<\/pre>\n<p>Puis on fait en sorte qu&rsquo;il se lance au d\u00e9marrage de notre machine :<\/p>\n<pre class=\"lang:default decode:true\" title=\"SSHFS\">update-rc.d sshfs.sh defaults<\/pre>\n<p>Ensuite nous allons cr\u00e9er une second script charg\u00e9 de v\u00e9rifier que le partage fonctionne. Sur mon nas j&rsquo;ai cr\u00e9e dans le partage de mes s\u00e9ries un fichier nomm\u00e9 \u00ab\u00a0.series.up\u00a0\u00bb et l&rsquo;\u00e9quivalent dans mon dossier films. Mon script se chargera de v\u00e9rifier la pr\u00e9sence de ces fichiers toutes les 5 minutes. Si le montage pr\u00e9sente un probl\u00e8me alors la commande suivante \u00e9chouera :<\/p>\n<pre class=\"lang:default decode:true\" title=\"SSHFS\">ls -l \/mnt\/Series\/.series.up<\/pre>\n<p>A ce moment l\u00e0 on relance le service sshfs.sh, tout simplement !<\/p>\n<p>On cr\u00e9e notre script :<\/p>\n<pre class=\"lang:default decode:true\" title=\"SSHFS\">nano \/usr\/bin\/checkSSHFS<\/pre>\n<p>Puis on y ajoute cela :<\/p>\n<pre class=\"lang:default decode:true\" title=\"SSHFS\">#! \/bin\/bash\r\n#Dans mes r\u00e9pertoires s\u00e9ries et films j'ai un fichier qui m'indique si le montage est ok. Si le fichier n'est pas pr\u00e9sent alors je redemarrage le service.\r\n#\r\nwhile [ 1 -gt 0 ]; do\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 sleep 300\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ls -l \/mnt\/Films\/.films.up\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 if [ $? -ne 0 ];\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 then\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/etc\/init.d\/sshfs.sh restart\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 echo \"Red\u00e9marrage SSHFS - PB Films\"\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 fi\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ls -l \/mnt\/Series\/.series.up\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 if [ $? -ne 0 ];\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 then\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/etc\/init.d\/sshfs.sh restart\r\n#\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 echo \"Red\u00e9marrage SSHFS - PB Series\"\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 fi\r\ndone<\/pre>\n<p>On rends ensuite ce script executable :<\/p>\n<pre class=\"lang:default decode:true\" title=\"SSHFS\">chmod +x \/usr\/bin\/checkSSHFS<\/pre>\n<p>Vous pouvez maintenant lancer votre service sshfs :<\/p>\n<pre class=\"lang:default decode:true\" title=\"SSHFS\">\/etc\/init.d\/sshfs.sh start<\/pre>\n<p>Les montages \u00ab\u00a0<em>\/mnt\/Films\u00a0\u00bb<\/em> et \u00ab\u00a0<em>\/mnt\/Series\u00a0\u00bb<\/em> devraient fonctionner.<\/p>\n<p>Si vous le d\u00e9sirez vous pouvez v\u00e9rifier que le script checkSSHFS fonctionne en d\u00e9montant manuellement le r\u00e9pertoire \u00ab\u00a0<em>\/mnt\/Films<\/em>\u00a0\u00bb :<\/p>\n<pre class=\"lang:default decode:true\" title=\"SSHFS\">fusermount -u \/mnt\/Films<\/pre>\n<p>En th\u00e9orie le montage devrait \u00eatre \u00e0 nouveau fonctionnel sous 5 minutes.<\/p>\n<p>Passons maintenant \u00e0 l&rsquo;installation et \u00e0 la configuration de transmission.<\/p>\n<p><a href=\"http:\/\/www.fragnol.net\/?page_id=359\">Lire la suite <span class=\"meta-nav\">\u2192<\/span><\/a><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Sommaire : Pr\u00e9-requis Installation et configuration de SSHFS avec un Nas Synology Installation et configuration de Transmission Installation et configuration d\u2019Openvpn avec VPNfacile.net Installation et configuration de Couchpotato Installation et configuration de Sickbeard Pour l&rsquo;installation de SSHFS rien de plus &hellip; <a href=\"https:\/\/www.fragnol.net\/?page_id=339\">Continuer la lecture <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"footnotes":""},"class_list":["post-339","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.fragnol.net\/index.php?rest_route=\/wp\/v2\/pages\/339","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fragnol.net\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.fragnol.net\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.fragnol.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fragnol.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=339"}],"version-history":[{"count":15,"href":"https:\/\/www.fragnol.net\/index.php?rest_route=\/wp\/v2\/pages\/339\/revisions"}],"predecessor-version":[{"id":406,"href":"https:\/\/www.fragnol.net\/index.php?rest_route=\/wp\/v2\/pages\/339\/revisions\/406"}],"wp:attachment":[{"href":"https:\/\/www.fragnol.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=339"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}