Zugriff mit SSH/rsync/BorgBackup

Last change on 2025-04-03 • Created on 2020-05-18 • ID: ST-1F2E8

SSH / rsync / BorgBackup

Die Storage Box bietet einen erweiterten SSH-Dienst auf dem Port 23. Dieser stellt neben rsync und BorgBackup auch einige übliche Kommandozeilen-Tools bereit.

Um SSH-Zugriff zu erhalten, wähl zunächst in Hetzner Console die entsprechende Storage Box aus und aktiviere den SSH-Support. Anschließend kannst du auf die Storage Box via SSH zugreifen:

ssh -p23 uXXXXX@uXXXXX.your-storagebox.de

Ein interaktiver SSH-Zugang ist zwar möglich. Über Port 22 ist kein interaktiver Zugang möglich, dieser steht nur über Port 23 zur Verfügung. Aber es steht keine volle Shell zur Verfügung. Es können z. B. keine Funktionen wie Pipes oder Ausgabe-Umleitungen genutzt werden. Ebenfalls ist es nicht möglich, hochgeladene Skripte auszuführen.

Du kannst Befehle auch direkt via SSH ausführen:

ssh -p23 uXXXXX@uXXXXX.your-storagebox.de mkdir new_directory

Solltest du einen Sub-Account nutzen, achte bitte darauf, dass auch der Sub-Account Nutzername für die Verbindung verwendet wird.

Bitte beachte, dass für eine SSH-Key-Authentifizierung der öffentliche (public) SSH-Key im normalen OpenSSH-Format auf der Storage Box hinterlegt werden muss und nicht im RFC4716-Format. Eine genaue Anleitung findest du auf der Seite Storage Box SSH Keys. Forcierte Kommandos und Client-Beschränkungen werden unterstützt.

Bitte beachte zudem, dass auf der Storage Box nur das Verzeichnis /home/ beschreibbar ist. Um Verzeichnisse oder Dateien auf der Storage Box zu adressieren, empfehle ich dir daher, relative Pfade zu nutzen. Um zum Beispiel die Datei /server1/full_backup.tar.gz von der Storage Box herunterzuladen, kannst du die folgenden Dateipfade verwenden:

server1/full_backup.tar.gz
./server1/full_backup.tar.gz

BorgBackup

Mit BorgBackup kannst du verschlüsselte deduplizierte Backups auf deiner Storage Box speichern. Eine Anleitung zur Einrichtung findest du in unseren Community Anleitungen.

Mit dem zusätzlichen Argument --remote-path=<borg-version> kann die serverseitige Borg Version angegeben werden. Wird dieser Parameter weggelassen, wird die Standardmäßige Borg Version verwendet.

Borg Version Remote Path Argument Standard
Borg 1.1 borg-1.1 Nein
Borg 1.2 borg-1.2 Ja
Borg 1.4 borg-1.4 Nein

Generell empfehlen wir, diesen Parameter mit anzugeben, damit immer eine kompatible Borg Version verwendet wird. Zum Beispiel:

borg init --encryption=repokey --remote-path=borg-1.4 ssh://uXXXXX@uXXXXX.your-storagebox.de:23/./borg-repository

Append Only Modus

Es ist möglich Borg in einem Append Only Modus zu nutzen. Dieser erlaubt nur das Erstellen von neuen Archiven aber nicht die Löschung von alten. Du kannst in der Dokumentation von BorgBackup eine Anleitung für die Konfiguration finden.

Bitte beachte, dass die Archive noch immer von dem eingeschränkten Client gelöscht werden können. Die Archive werden dabei aber nur als gelöscht markiert und nicht von der Storage Box entfernt. Damit die Archive korrekt gelöscht werden, musst du mit einem anderen, nicht beschränkten, Client eine Lösch- oder Schreiboperation auf dem Borg Repository ausführen. Du kannst in der BorgBackup Dokumentation eine Anleitung finden, wie du die als gelöscht markierten Archive wiederherstellen kannst.

rsync

Mittels rsync kannst du komplette Dateiverzeichnisse auf die Storage Box hochladen. Dafür kannst du rsync wie folgt nutzen:

rsync --progress -e 'ssh -p23' --recursive <Lokales Verzeichnis> <Benutzername>@<Benutzername>.your-storagebox.de:<Ziel Verzeichnis>

Um ein Verzeichnis von der Storage Box erneut herunterzuladen, müssen nur die Verzeichnisse vertauscht werden:

rsync --progress -e 'ssh -p23' --recursive <Benutzername>@<Benutzername>.your-storagebox.de:<Verzeichnis> <Lokales Verzeichnis>

Damit Dateien welche auf dem Quellsystem bereits gelöscht wurden, bei einem erneuten Sync ebenfalls vom Zielsystem gelöscht werden, wird noch der Parameter --delete zusätzlich benötigt. Andernfalls bleiben gelöschte Dateien auf dem Zielsystem bestehen und es werden nur Änderungen bzw. neue Dateien übertragen. Zum Beispiel:

rsync --progress --delete -e 'ssh -p23' --recursive <Lokales Verzeichnis> <Benutzername>@<Benutzername>.your-storagebox.de:<Ziel Verzeichnis>

Bitte beachte, dass du die Nutzer- und Gruppen-ID der hochgeladenen Dateien nicht anpassen kannst. Ebenfalls empfehlen wir dir, deinen kompletten Server nicht so zu sichern. Hierfür würden wir dir BorgBackup empfehlen.

Bitte beachte auch, dass es nicht möglich ist, rsync auf der Storage Box auszuführen. Es kann nur benutzt werden, um Daten von einer anderen Quelle auf die Storage Box zu transferieren oder Daten von der Storage Box zu zum Beispiel deinem Server zu transferieren.

SCP

Du kannst ebenfalls SCP über den Port 23 nutzen. Um per SCP eine Datei hochzuladen, kannst du folgenden Befehl ausführen:

scp -P 23 <Lokale Datei> <Benutzername>@<Benutzername>.your-storagebox.de:<Remote Datei>

Um die Datei wieder herunterzuladen, musst du nur die Ziel- und Quelldatei vertauschen:

scp -P 23 <Benutzername>@<Benutzername>.your-storagebox.de:<Remote Datei> <Lokale Datei>

SFTP

Der Zugriff mittels SFTP erfolgt ähnlich wie mit einem FTP-Client. Um eine SFTP-Sitzung zu starten, führe bitte folgenden Befehl aus:

sftp -P 23 <Benutzername>@<Benutzername>.your-storagebox.de

Anschließend kannst du mittels put Dateien hochladen und mittels get herunterladen. Mit ls erhältst du ein Directory Listing:

sftp> put 100MB.file
Uploading 100MB.file to /home/100MB.file
100MB.file                           100%  100MB  78.7MB/s   00:01
sftp> ls -ahl
drwxr-xr-x    0 12345      12345     16B  Mar 28 10:55 .
dr-x--x--x    0 0          0         10B  Mar 27 12:16 ..
-rw-r--r--    0 12345      12345     100M Mar 28 11:34 100MB.file
sftp> get 100MB.file
Fetching /home/100MB.file to 100MB.file
/home/100MB.file                     100%  100MB 110.6MB/s   00:00
sftp> quit

dd

Du kannst mit der Nutzung von dd auch direkt Daten zu der Storage Box hoch- oder herunterladen. Um zum Beispiel eine Archiv Datei unter Linux direkt auf die Storage Box zu kopieren, wäre Folgendes möglich:

tar -cz <Quell-Verzeichnis> | ssh -p23 uXXXXX@uXXXXX.your-storagebox.de "dd of=archive.tar.gz bs=4M"

Um dieses wieder herunterzuladen und direkt zu entpacken, kannst du Folgendes ausführen:

ssh -p23 uXXXXX@uXXXXX.your-storagebox.de "dd if=archive.tar.gz bs=4M" | tar -xz -C <Ziel-Verzeichnis>

Rclone

Rclone wird von den Storage Boxen mithilfe des SFTP-Backends unterstützt. Rclone kann mit Hilfe des Kommandos rclone config konfiguriert werden.

Alternativ kann auch manuell eine Konfiguration erstellt werden. Eine minimale Konfiguration ist die folgende (Standardpfad: ~/.config/rclone/rclone.conf):

[storagebox]
type = sftp
host = uXXXXX.your-storagebox.de
user = uXXXXX
port = 23
pass = <Verschlüsseltes_Passwort>

Das Passwort muss dabei mithilfe des Kommandos rclone obscure <Klartext-Passwort> verschlüsselt werden.

Anstatt das Passwort mittels pass anzugeben kann auch ein SSH Key mit der Konfigurationsoption key_file = <Pfad-zum-Privaten-Key spezifiziert werden.

Die Storage Box kann nun folgendermaßen genutzt werden:

rclone ls storagebox:

Hinweis: Wenn du beim Hochladen größerer Verzeichnisse md5-Checksum Fehler erhältst, hast du vermutlich das Verbindungslimit für deinen Account erreicht (max. 10 gleichzeitige Verbindungen). Um dieses Verhalten zu vermeiden, kannst du das Flag --checkers=<count lower 8> für SFTP Verbindungen oder --ftp-concurrency=10 für FTP Verbindungen zu deinem Befehl hinzufügen.

Bitte prüf die Rclone Dokumentation für mehr Details.

Restic

Restic wird über das SFTP Backend unterstützt. Optional kann auch das restic Backend von Rclone über SSH genutzt werden.

Cpanel und JetBackup

Eine Anleitung hierfür kannst du hier finden.

Verfügbare Befehle

Über Port 23 stehen die folgenden Befehle auf der Storage Box zur Verfügung:

Navigation und System-ManagementDatei-ManagementAndere
  • cd
  • ls
  • stat
  • pwd
  • tree
  • du
  • df
  • dd
  • chmod
  • mkdir
  • rmdir
  • touch
  • cat
  • cp
  • mv
  • rm
  • unlink
  • head
  • tail
  • md5
  • sha1
  • sha256
  • sha512
  • md5sum
  • sha1sum
  • sha256sum
  • sha512sum
  • grep
  • version
  • help

Mit dem Befehl help wird eine Liste aller Befehle direkt auf der Storage Box angezeigt.

Table of Contents