SSHFS
sshfs user@domain.net:/ /mnt/storagebox
Det här är ett dokument som beskriver användning av SSHFS för att montera en fjärrdisk över SSH på Turnkey Fileserver.
Installera sshfs:
apt update
apt install sshfs
Skapa en monteringspunkt:
mkdir -p /mnt/storagebox
Testa först manuell montering:
sshfs user@storage.domain.net:/ /mnt/storage
Används en annan port än 22 kan ex. -p 23 läggas till i kommandot.
För automatisk inloggning utan användarnamn + lösenord hos fjärrservern bör SSH-nycklar användas. Lägg över ssh-nyckeln med:
ssh-copy-id -p 23 -s user@storage.domain.net
Prova sen att SSHa och se om automagisk inloggning lirade.
Man kan prova att montera disken manuellt innan fstab uppdateras, se exempel:
sshfs -p 23 -o allow_other,uid=0,gid=0,IdentityFile=/root/.ssh/id_rsa,reconnect,ServerAliveInterval=15,ServerAliveCountMax=3 user@user.storage.domain.net:. /mnt/storage
Modifiera /etc/fstab med montering. Exempel:
#webdav
https://user.storage.domain.net /mnt/webdav davfs _netdev,user 0 0
#sshfs
sshfs#user@user.stoage.domain.net:/ /mnt/storage fuse defaults,_netdev,allow_other,uid=0,gid=0,IdentityFile=/root/.ssh/id_rsa,port=23,reconnect,ServerAliveInterval=15,ServerAliveCountMax=3 0 0
Starta sedan om daemon med:
systemctl daemon-reload
Montera nu med:
mount -a
Behöver man avmontera gör man det med umount /mnt/storage. Får man felmeddelande så lägg till -l flaggan.
Jag fick dock inte ovan att fungera. ChatGPT föreslog istället att bygga en systemd-tjänst som löser det. Se dokumentation nedan:
Dokumentation: systemd-service för SSHFS-mount av Storagebox
Översikt
Denna systemd-service monterar en fjärrlagring (Storagebox) från Hetzner via SSHFS till en lokal mapp på servern. Den använder SSH-nyckelautentisering med port 23 och har stöd för automatisk återanslutning vid nätverksavbrott.
Filstruktur och viktiga komponenter
| Fil/Plats | Beskrivning |
|---|---|
/usr/local/bin/mount-storagebox.sh |
Skript som utför monteringen med sshfs och rätt alternativ. |
/etc/systemd/system/mount-storagebox.service |
systemd-servicefil som styr monteringen. |
/mnt/storagebox |
Lokalt mount-point där Storagebox monteras. |
/root/.ssh/id_rsa |
Privat SSH-nyckel som används för autentisering. |
root@turnkey-fileserver ~# cat /usr/local/bin/mount-storagebox.sh
#!/bin/bash
exec /usr/bin/sshfs -p 23 \
-o allow_other,uid=0,gid=0,reconnect,IdentityFile=/root/.ssh/id_rsa,StrictHostKeyChecking=accept-new \
-o ssh_command="ssh -vvv -p 23" \
user@user.storage.domain.net:. /mnt/storage
root@turnkey-fileserver ~# cat /etc/systemd/system/mount-storagebox.service
[Unit]
Description=Mount Storagebox SSHFS via script
After=network-online.target
Wants=network-online.target
[Service]
Type=oneshot
ExecStart=/usr/local/bin/mount-storagebox.sh
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
Hur systemd-servicen fungerar
-
Start:
Vid start kör systemd servicen skriptet/usr/local/bin/mount-storagebox.sh. -
Montering:
Skriptet körsshfsmed följande nyckelparametrar:-
Använder användaren
och portu412571-sub1user23för SSH-anslutningen. -
Autentisering sker via
/root/.ssh/id_rsa(SSH-nyckel). -
Montering sker mot fjärrkatalogen (hemkatalog
.på servern). -
Mount sker i
/mnt/storagebox. -
Flera SSHFS-alternativ används, t.ex.
allow_other,reconnect,uid=0,gid=0,StrictHostKeyChecking=accept-newför att säkerställa stabilitet och rättigheter. -
SSH debug loggning kan aktiveras via
ssh_command="ssh -vvv -p 23"för felsökning.
-
-
Felhantering:
-
Om anslutningen bryts försöker SSHFS automatiskt reconnect (
reconnect). -
Servicen rapporterar fel i
journalctlvid misslyckad mount.
-
-
Automatisering:
-
Servicen kan startas vid boot med
systemctl enable mount-storagebox.service. -
Manuell start/stopp med
systemctl start|stop mount-storagebox.service.
-
Viktiga kommandon
-
Starta servicen manuellt:
systemctl start mount-storagebox.service
Stoppa servicen:
systemctl stop mount-storagebox.service
Kontrollera status och loggar:
systemctl status mount-storagebox.service
journalctl -u mount-storagebox.service -fAktivera autostart vid boot:
systemctl enable mount-storagebox.service
Säkerhets- och rättighetsaspekter
-
SSH-nyckeln måste vara korrekt sparad i
/root/.ssh/id_rsaoch ha rätt filrättigheter (typ 600). -
Mount-punkten
/mnt/storageboxbör ägas av root och ha korrekta åtkomsträttigheter. -
Använd
allow_otherför att tillåta andra användare än root att läsa/skriva i monterad katalog, vilket kräveruser_allow_otheri/etc/fuse.conf.
Felsökning
-
Vid problem, kolla systemd-loggar:
journalctl -xeu mount-storagebox.service
Testa manuellt mount via skriptet:
/usr/local/bin/mount-storagebox.sh
Kontrollera att SSH-nyckeln fungerar och att port 23 är tillgänglig.
Kontrollera att mappen /mnt/storagebox är tom och inte används av någon annan mount.