Accéder à un dossier distant via SSH avec SSHFS
Installer d’abord SSHFS:
sudo apt install sshfs
Créer un répertoire Scripts dans votre dossier personnel (Home)
mkdir ~/Scripts
Créer ensuite un nouveau document Fichier vide dans le dossier Scripts. Nommer le Toggle-sshfs-192.168.0.11.sh
Insérer le code suivant :
#!/bin/bash
SourceMount="$HOME/sshfs-nas1"
# 1. Gestion stricte des blocages : si le dossier est gelé, mountpoint va bloquer.
# On utilise un timeout de 2 secondes sur la vérification.
if ! timeout 2 mountpoint -q "$SourceMount" 2>/dev/null; then
echo "Le répertoire $SourceMount n'est pas accessible ou pas monté. Nettoyage..."
# Démontage forcé/paresseux (-z) au cas où le point est gelé (stale)
fusermount -u -z "$SourceMount" 2>/dev/null
sleep 1
echo "Tentative de montage..."
# AJOUTS CRITIQUES :
# - ConnectTimeout=5 : abandonne après 5s si le serveur SFTP ne répond pas
# - PasswordAuthentication=no : crash proprement au lieu de bloquer si la clé SSH ne fonctionne pas
sshfs -o ServerAliveInterval=15 \
-o ServerAliveCountMax=3 \
-o reconnect \
-o ConnectTimeout=5 \
-o PasswordAuthentication=no \
hostadmin@sftp.example.com:/media/nas1 "$SourceMount"
# Attente active du montage (expiration après 15 secondes)
timeout=15
while ! timeout 2 mountpoint -q "$SourceMount" 2>/dev/null && [ $timeout -gt 0 ]; do
sleep 1
((timeout--))
done
if [ $timeout -le 0 ]; then
echo "Erreur : Le montage SSHFS a expiré ou a échoué."
exit 1
else
echo "Le répertoire $SourceMount a été monté avec succès."
fi
else
echo "Le répertoire $SourceMount est déjà monté. Démontage propre..."
fusermount -u "$SourceMount"
echo "Le répertoire $SourceMount est maintenant démonté."
fi
Sauvegarder et fermer le document. Ensuite, avec le bouton droit de votre souris accéder aux propriétés du fichier. Dans l’onglet Permissions, cocher la case Autoriser ce fichier à être utilisé comme un programme ou encore utiliser la commande suivante:
sudo chmod +x ~/Scripts/Toggle-sshfs-192.168.0.11.sh
Créer un répertoire sshfs-nas1 dans votre dossier personnel (Home)
mkdir ~/sshfs-nas1
Ajouter le greffon Lanceur au tableau de bord et ajouter un lanceur pour le scripts que nous venons de créer.
Lancer le script Toggle-sshfs-nas1, un mot de passe pour la connexion vous sera demandé et votre lecteur réseau est présentement opérationnel dans votre répertoire personnel. Pour le démonter, il suffit de lancer de nouveau le script.


