GNU/Linux >> Tutoriels Linux >  >> Linux

Montage SSHFS qui survit à la déconnexion

Solution 1 :

Utilisez -o reconnect,ServerAliveInterval=15,ServerAliveCountMax=3

La combinaison ServerAliveInterval=15,ServerAliveCountMax=3 provoque l'apparition des erreurs d'E/S après une minute de panne du réseau. C'est important mais largement non documenté. Si ServerAliveInterval l'option est laissée par défaut (donc sans la vérification active), les processus qui subissent un blocage d'E/S semblent dormir indéfiniment, même après que le sshfs obtient reconnect 'éd. Je considère cela comme un comportement inutile.

En d'autres termes, que se passe-t-il sur -o reconnect sans affecter ServerAliveInterval est que toute E/S réussira ou bloquera l'application indéfiniment si le ssh se reconnecte en dessous. Une application typique devient alors entièrement bloquée. Si vous souhaitez autoriser les E/S à renvoyer une erreur et à reprendre l'application, vous avez besoin de ServerAliveInterval=1 ou plus.

Le ServerAliveCountMax=3 est la valeur par défaut de toute façon, mais j'aime le spécifier pour plus de lisibilité.

Solution 2 :

Merci pour les conseils d'autossh et d'autofs.

Cependant, pour mon objectif direct, j'ai trouvé une solution beaucoup plus simple qui n'était pas si bien documentée :

sshfs -o reconnect server:/path/to/mount

Solution 3 :

Autossh reconnecte automatiquement les sessions ssh lorsqu'il remarque que ssh est mort ou a cessé de transmettre du trafic. Puisqu'il s'agit simplement de ssh automatisé, il fonctionnera à partir de différentes adresses IP et de la suspension (même si l'ordinateur portable se réveille sur un autre réseau local).

Solution 4 :

Une chose que vous pouvez faire est de monter vos systèmes de fichiers via autofs. Autofs est un outil qui montera un système de fichiers lorsque vous utiliserez quelque chose dans le répertoire sur lequel le système de fichiers sera monté. Lorsqu'il détecte une activité, le système de fichiers est monté. Quand rien ne se passe sur le système de fichiers, est-il démonté.

Voici un howto que j'ai trouvé sur google pour y parvenir, il y en a plusieurs autres.

Solution 5 :

Je soupçonne que ce n'est pas le cas, car même si vous pouvez configurer votre client SSH pour ne pas interrompre la connexion, le serveur peut être configuré pour le faire après une période d'inactivité spécifiée, et vous ne pourrez pas annuler cela. Même si vous le pouviez, si vous ne rétablissiez jamais la connexion, le serveur resterait suspendu et, au fil du temps, cela pourrait entraîner un gaspillage important des ressources du serveur.

Une meilleure technique, je pense, consiste à démonter le système de fichiers avant de suspendre votre ordinateur et à le remonter lorsque l'ordinateur se réveille à nouveau. Le mécanisme pour le faire peut dépendre exactement de la façon dont vous suspendez votre ordinateur - j'utilise le noyau tuxonice et pour faire quelque chose comme ça, j'ai une directive comme

Unmount /mnt/sshfs

en /etc/hibernate/common.conf .


Linux
  1. SSHFS (Secure SHell FileSystem) - Monter en toute sécurité le système de fichiers distant sur ssh

  2. Alternative à la ligne de commande SSH d'Ubuntu

  3. SSH - Comment inclure la commande -t dans le fichier ~/.ssh/config

  4. Transférer SSH via un tunnel SSH

  5. Autoriser SFTP mais interdire SSH ?

SSHFS :comment monter des systèmes de fichiers distants via SSH

Comment utiliser SSHFS pour monter des répertoires distants sur SSH

SSHFS :montage d'un système de fichiers distant via SSH

Monter un dossier distant avec sshfs

SSHFS ? Qu'est-ce que c'est et comment l'utiliser ?

Comment utiliser SSHFS Mount avec des répertoires distants via SSH