Jak zamontować zdalny system plików przez SSH (SSHFS) i zautomatyzować to przy starcie systemu za pomocą systemd
📂 Jak zamontować zdalny system plików przez SSH (SSHFS) i zautomatyzować to przy starcie systemu za pomocą systemd
SSHFS (SSH Filesystem) pozwala na montowanie zdalnych folderów dostępnych przez SSH jakby były lokalnymi katalogami. Świetnie sprawdza się w przypadku:
- pracy z serwerami zdalnymi (np. VPS, NAS),
- wymiany plików między maszynami bez konfigurowania NFS/Samba,
- środowisk backupowych i CI/CD,
- automatycznych zadań z dostępem do zdalnych danych.
W tym poradniku:
✅ montowanie zdalnego folderu przez sshfs,
✅ trwała konfiguracja w fstab,
✅ automatyzacja i kontrola za pomocą systemd.
🔧 Krok 1: Instalacja SSHFS
🟢 Debian/Ubuntu:
sudo apt update
sudo apt install sshfs
🔵 Fedora/CentOS/AlmaLinux:
sudo dnf install sshfs
⚫ Arch/Manjaro:
sudo pacman -S sshfs
🧪 Krok 2: Testowy montaż zdalnego katalogu
mkdir ~/mnt-remote
sshfs user@192.168.1.10:/home/user/backups ~/mnt-remote
Po tym zdalny folder /home/user/backups jest widoczny lokalnie jako ~/mnt-remote.

🔐 Krok 3: Uwierzytelnianie bez hasła (klucz SSH)
Aby automatyzacja działała, potrzebujesz klucza SSH:
ssh-keygen
ssh-copy-id user@192.168.1.10
Teraz możesz montować bez wpisywania hasła.
🧷 Krok 4: Utworzenie pliku jednostki systemd
Stwórz katalog montowania:
sudo mkdir -p /mnt/remote-backup
sudo chown youruser:youruser /mnt/remote-backup
Utwórz usługę:
sudo nano /etc/systemd/system/sshfs-backup.service
Zawartość:
[Unit]
Description=Mount SSHFS backup remote directory
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=youruser
ExecStart=/usr/bin/sshfs user@192.168.1.10:/home/user/backups /mnt/remote-backup -o reconnect,ServerAliveInterval=15,ServerAliveCountMax=3,IdentityFile=/home/youruser/.ssh/id_rsa
ExecStop=/bin/fusermount -u /mnt/remote-backup
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
🔐 Uwaga: ścieżki i użytkownik muszą być zgodne z Twoim systemem.
✅ Krok 5: Aktywacja jednostki
sudo systemctl daemon-reload
sudo systemctl enable --now sshfs-backup.service
🧪 Sprawdzenie działania
- Montaż:
mount | grep sshfs
- Logi:
journalctl -u sshfs-backup.service
- Sprawdzenie dostępności danych:
ls /mnt/remote-backup
💡 Tip: Restartuj po reconnect
sshfs czasem traci połączenie – Restart=always pozwala systemd samodzielnie próbować ponownie.
🚫 Demontaż
Jeśli chcesz odłączyć zdalny system ręcznie:
sudo systemctl stop sshfs-backup.service
🔐 Bezpieczeństwo
- Używaj kluczy prywatnych z hasłem lub z agentem SSH (
ssh-agent) - Ogranicz użytkowników mogących korzystać z SSHFS
- Stosuj fail2ban i hardening SSH na zdalnym serwerze
🧰 Alternatywy
autofs– automatyczne montowanie na żądanie,systemd automount– podobna funkcja (możemy to opisać w osobnym poradniku),rsynclubscp– do kopiowania, ale bez montowania.
🏁 Podsumowanie
✔️ SSHFS to szybki i wygodny sposób montowania zdalnych zasobów,
✔️ Połączenie z systemd zapewnia niezawodność i automatyzację,
✔️ Idealne rozwiązanie do backupów, pracy z plikami zdalnymi i CI/CD.





