Linux Tutorial: HiDrive per sshfs mit systemd einbinden

1. Voraussetzungen

Paket sshfs installiert:

# Debian/Ubuntu

sudo apt update
sudo apt install sshfs

# Fedora/RHEL

sudo dnf install sshfs

SSH‑Schlüsselpaar erzeugen

  • Erzeuge ein dediziertes Schlüsselpaar (ed25519 empfohlen):
ssh-keygen -t ed25519 -C "hidrive@$(whoami)" -f ~/.ssh/hidrive_id_ed25519

Lass die Passphrase leer, wenn automatisches Boot‑Mount ohne Interaktion nötig ist (Sicherheit beachten).

Ergebnis: privater Schlüssel:

 ~/.ssh/hidrive_id_ed25519

öffentlicher Schlüssel:

~/.ssh/hidrive_id_ed25519

Public Key im HiDrive‑Account hinterlegen

  • Öffne das HiDrive‑Portal und suche die SSH/SFTP‑Einstellungen bzw. den Punkt zum Hochladen eines Public Keys.
  • Kopiere den Inhalt von ~/.ssh/hidrive_id_ed25519 und füge ihn im Portal ein.
  • Stelle sicher, dass SFTP/SSH in deinem HiDrive‑Paket aktiviert ist und der Hostname korrekt ist (z. B. sftp.hidrive.strato.com).

Privater Schlüssel liegt im Home‑Verzeichnis des Benutzers, z. B. ~/.ssh/hidrive_id_ed25519 mit Rechten:

chmod 600 ~/.ssh/hidrive_id_ed25519

Verbindung testen (SFTP/SSH)

  • Teste die Verbindung lokal:
sftp -i ~/.ssh/hidrive_id_ed25519 HiDriveBenutzer@sftp.hidrive.strato.com
  • Oder mit ssh (falls erlaubt):
ssh -i ~/.ssh/hidrive_id_ed25519 -o IdentitiesOnly=yes HiDriveBenutzer@sftp.hidrive.strato.com
  • Wenn du einen SFTP‑Prompt siehst oder Dateien gelistet werden können, ist der Schlüssel korrekt eingebunden.

2. Mount‑Verzeichnis anlegen

mkdir -p ~/hidrive

3. Manuelles Testen

Bevor systemd ins Spiel kommt, den Mount manuell testen:

sshfs -o IdentityFile=~/.ssh/hidrive_id_ed25519,reconnect,ServerAliveInterval=30 HIDRIVE_USER@sftp.hidrive.strato.com:/users/HIDRIVE_USER ~/hidrive
  • HIDRIVE_USER durch den eigenen HiDrive‑Benutzernamen ersetzen.
  • Wenn das klappt, ist die Verbindung korrekt eingerichtet.
  • strato steht nur als Beispiel. Wenn ihr einen anderen Hoster habt, dann bitte die Adresse von euren Hoster eintragen.

4. systemd‑Service‑Unit erstellen

  • Verzeichnis für systemd-Units anlegen (falls nicht vorhanden):
mkdir -p ~/.config/systemd/user
  • Datei erstellen/bearbeiten
nano ~/.config/systemd/user/hidrive.service
  • Datei speichern (bei nano mit STRG+O)
[Unit]
Description=Mount HiDrive via sshfs
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
ExecStart=/usr/bin/sshfs -f -o IdentityFile=/%h /.ssh/hidrive_id_ed25519,reconnect,ServerAliveInterval=30 HIDRIVE_USER@sftp.hidrive.strato.com:/users/HIDRIVE_USER %h/hidrive
ExecStop=/bin/fusermount -u /%h/hidrive
Restart=always
RestartSec=10

[Install]
WantedBy=default.target

Erklärung :

  • %h → Platzhalter für das Home‑Verzeichnis des Benutzers.
  • -f → sorgt dafür, dass sshfs im Vordergrund läuft, damit systemd den Prozess überwacht.
  • reconnect + ServerAliveInterval=30 → stabilisiert die Verbindung.
  • ExecStop hängt das Laufwerk sauber aus.
  • Restart=always → startet den Dienst neu, wenn die Verbindung abbricht.
  • strato steht nur als Beispiel. Wenn ihr einen anderen Hoster habt, dann bitte die Adresse von euren Hoster eintragen.

5. Unit aktivieren

systemctl --user daemon-reload
systemctl --user enable --now hidrive.service

6. Funktion prüfen

  • Status anzeigen:bashsystemctl --user status hidrive.service
  • Inhalte prüfen: ls ~/hidrive

7. Automatischer Start beim Boot

Damit User‑Units auch ohne aktiven Login laufen:

loginctl enable-linger <BENUTZERNAME>

8. Fehlerbehebung

  • Mount schlägt fehl: Logs prüfen: journalctl --user -u hidrive.service -b
  • Option allow_other: Nur verwenden, wenn in /etc/fuse.conf die Zeile user_allow_other steht. Sonst weglassen.
  • Key nicht akzeptiert: Public Key im HiDrive‑Portal hinterlegen und Rechte prüfen (chmod 600).
  • Pfad falsch: Bei HiDrive immer /users/<Benutzername> verwenden.

✅ Ergebnis

Mit dieser verbesserten Variante läuft dein HiDrive‑Mount stabil über systemd, bleibt nach Verbindungsabbrüchen erhalten und startet automatisch beim Login oder Boot.


© 2025 MaDe-Online