Folgend wird erklärt, wie Sie einen SSH-Key auf dem Host-Server einer bestehenden Storage Box hinterlegen.
Bevor Sie diesem How-To folgen, prüfen Sie im Überblick Ihrer Storage Box in der Hetzner Console ob SSH-Support aktiviert ist. Wenn Sie den SSH-Key über SSH auf dem Host-Server hinterlegen möchten und der Support noch nicht aktiviert ist, wählen Sie die Aktion "Einstellungen ändern" und aktivieren Sie SSH-Support jetzt. Beachten Sie, dass es nach der Aktivierung ein paar Minuten dauern kann, bevor Ihre Storage Box per SSH erreichbar ist.
-
SSH-Key generieren
Sie können mittels
ssh-keygen
ein neues SSH-Schlüsselpaar generieren. Führen Sie den Befehl auf dem Gerät aus, über das Sie sich mit der Storage Box verbinden wollen.local-device> 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@local-device The key's randomart image is: +--[ RSA 2048]----+ | | | | | | | . = | | . S = * o | | . = = + + = | | X o = E . | | o + . . . | | . | +-----------------+
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.
-
SSH-Key hochladen
Auf Ihrem Gerät sollten nun sowohl der Private wie auch der Public Key liegen. Hinterlegen Sie den Public Key nun auf dem Host-Server Ihrer Storage Box. Wählen Sie dafür eine der folgenden Optionen:
Option 1: Über SSH
Führen Sie folgenden Befehl aus, um den Public Key automatisch für beide SSH-Ports auf dem Host-Server Ihrer Storage Box zu hinterlegen:
local-device> 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.
Option 2: Erweiterter SSH-Dienst auf Port 23 (SFTP/Rsync/BorgBackup)
Für Port 23 wird der Public Key in dem einzeiligen OpenSSH-Format benötigt.
-
Upload via
ssh-copy-id
(ab OpenSSH 8.5)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
Option 3: SSH-Dienst auf Port 22 (SFTP)
Für Port 22 muss der Public Key in das RFC4716-Format konvertiert und dann hochgeladen werden.
-
In das RFC4716-Format konvertieren
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
echo "mkdir .ssh" | sftp uXXXXX@uXXXXX.your-storagebox.de scp .ssh/id_rsa_rfc.pub uXXXXX@uXXXXX.your-storagebox.de:.ssh/authorized_keys
-
-
SSH-Key testen
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