Storage Box SSH Keys

Last change on 2022-11-07 • Created on 2020-05-18 • ID: RO-86FBE

SSH-Key-Authentifizierung für Storage Boxes

Wenn Sie SCP, SFTP, rsync oder BorgBackup nutzen, können Sie sich mittels SSH-Key-Authentifizierung ohne Passworteingabe einloggen.

Bitte beachten Sie, dass je nach genutztem SSH-Port des Backup-Accounts/Storage Box ein anderes Format für den Public-SSH-Key erforderlich ist. Es werden die folgenden Keys unterstützt:

SSH Port Key Format Algorithmen
22 RFC4716 RSA, ECDSA, ED25519
23 Standard OpenSSH Format RSA, ECDSA, ED25519, ED25519-sk, ECDSA-sk

Wenn Sie die Dienste über beide Ports nutzen möchten, muss der Public-SSH-Key in beiden Formaten (RFC4716 und einzeiliges OpenSSH-Format) in der .ssh/authorized_keys Datei hinterlegt werden. Am Ende der Datei muss ein Zeilenumbruch eingefügt sein.

Bitte beachten Sie das für jeden Sub-Account eine eigene authorized_keys Datei unterhalb des Sub-Accounts benötigt wird.

Generieren eines SSH-Keys

Sie können mittels ssh-keygen ein neues SSH-Schlüsselpaar generieren:

server> ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
cb:3c:a0:39:69:39:ec:35:d5:66:f3:c5:92:99:2f:e1 root@server
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|                 |
|         .   =   |
|      . S = * o  |
|   . = = + + =   |
|    X o =   E .  |
|   o + . .   .   |
|    .            |
+-----------------+

Bitte beachten Sie, dass ssh-keygen mit den Standardeinstellungen einen bereits existierenden SSH-Key überschreibt! Sie können alternativ mit dem Parameter -f einen anderen Dateipfad angeben.

Upload

Bitte aktivieren Sie den SSH Dienst der Storage Box über den Robot. Anschließend können Sie mit folgendem Befehl den Public Key auf die Storage Box hochladen und automatisch für beide SSH Ports der Storage Box hinzufügen:

server> cat ~/.ssh/id_rsa.pub | ssh -p23 uXXXXX@uXXXXX.your-storagebox.de install-ssh-key
uXXXXX@uXXXXX.your-storagebox.de's password:
Key No. 1 (ssh-rsa user@host) was installed in RFC4716 format
Key No. 1 (ssh-rsa user@host) was installed in OpenSSH format

Anschließend ist ein Login auf der Storage Box mit dem SSH Key und ohne Passworteingabe möglich.

Manuell

Sie können den Public SSH Key auch manuell hochladen. Bitte folgen Sie dafür den folgenden Anleitungen.

Erweiterter SSH Dienst auf Port 23 (SFTP/Rsync/BorgBackup)

Für den Port 23 wird der Public-SSH-Key in dem einzeiligen OpenSSH-Format benötigt.

Upload via ssh-copy-id (ab OpenSSH 8.5)

Sie können den Public Key mit Hilfe von ssh-copy-id hochladen:

ssh-copy-id -p 23 -s uXXXXX@uXXXXX.your-storagebox.de

Upload ohne ssh-copy-id / Manuell

Falls Sie ein älteres OpenSSH einsetzen, können Sie den Public Key auch manuell hochladen:

ssh -p 23 uXXXXX@uXXXXX.your-storagebox.de mkdir .ssh
scp -P 23 .ssh/id_rsa.pub uXXXXX@uXXXXX.your-storagebox.de:.ssh/authorized_keys

SSH Dienst auf Port 22 (SFTP)

Für den SSH Dienst auf Port 22 muss der Public Key in das RFC4716-Format konvertiert und dann hochgeladen werden.

In das RFC4716-Format konvertieren

Um den Public-SSH-Key in das korrekte Format zu konvertieren, führen Sie bitte folgenden Befehl aus:

ssh-keygen -e -f .ssh/id_rsa.pub > .ssh/id_rsa_rfc.pub

Der Public-SSH-Key sollte nun wie folgt aussehen:

cat .ssh/id_rsa_rfc.pub
---- BEGIN SSH2 PUBLIC KEY ----
Comment: "<comment>"
AAAAB3NzaC1yc2EAAAABIwAAAQEAz+fh731CVfH3FPM0vK5hX7NT5HogdBEQ4ryGJIeVMv
mCQJWwrFtdWh1pXMyXsYzXq1xbjILgCZGn+H0qUBKopJaa/Pzsw5U0UyRgiFhU2k0eiHUq
pkiixTbHcLsCj3kjAv5i07wZJ/ot246hLQD1PtSQtcX7nHvhdhenOTGO+ccpM2KEdX1E64
eaTtO9Bf7X4OTXnRxS7tjYH9sls5DOunpvoIZLvbmcVw1+wMdJBXOAU6/tnkN5N3mYE4Hu
JjnRtBAI9MS9Tt3DNAp1K/udUHA6hfYf08fxYs9uwsCM793b7FczmVvHEIwIKszG7Jwiwo
Dqit4EExR8bNNCeD6D3Q==
---- END SSH2 PUBLIC KEY ----

Upload

Laden Sie nun die erstellte Datei hoch:

echo "mkdir .ssh" | sftp uXXXXX@uXXXXX.your-storagebox.de
scp .ssh/id_rsa_rfc.pub uXXXXX@uXXXXX.your-storagebox.de:.ssh/authorized_keys

Test

Je nach hochgeladenem SSH-Key-Format ist nun ein Login ohne Passwort auf Port 22 und/oder Port 23 möglich:

sftp -P <22 oder 23> <Benutzername>@<Benutzername>.your-storagebox.de
Connected to <Benutzername>.your-storagebox.de.
sftp> quit
Table of Contents