SSH-Key-Authentifizierung für CPS-Onlinespeicher

Durch die Nutzung von SCP, SFTP, rsync oder BorgBackup können Sie sich mittels einer SSH-Key-Authentifizierung ohne die Notwendigkeit eines Passwortes einloggen.

Bitte beachten Sie, dass je nach verwendetem SSH-Port des CPS-Onlinespeichers ein unterschiedliches Format für den Public-SSH-Key erforderlich sein kann. Unterstützt werden die folgenden Key-Formate:

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

Wenn Sie SCP, SFTP, rsync oder BorgBackup verwenden möchten, können Sie sich mittels SSH-Key-Authentifizierung ohne Passworteingabe anmelden. Es ist jedoch zu beachten, dass je nach verwendetem SSH-Port des CPS-Onlinespeichers ein anderes Format für den Public-SSH-Key erforderlich ist.

Sollten Sie die Dienste über beide Ports nutzen wollen, muss der Public-SSH-Key in beiden Formaten (RFC4716 und einzeiliges OpenSSH-Format) in der Datei .ssh/authorized_keys hinterlegt werden.

Ein Zeilenumbruch am Ende der Datei ist erforderlich. Bitte beachten Sie, dass für jeden Sub-Account eine eigene authorized_keys Datei unterhalb des Sub-Accounts erstellt werden muss.

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:
ac:3c:b0:26:34:39:ed:25:c5:86:d4:c5:46:66:2e:f2 root@server
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|                 |
|         .   =   |
|      . S = * o  |
|   . = = + + =   |
|    X o =   E .  |
|   o + . .   .   |
|    .            |
+-----------------+

Bitte beachten Sie, dass das Erstellen eines neuen SSH-Schlüssels mittels ssh-keygen die Existenz eines vorherigen Schlüssels überschreiben kann. Um dies zu vermeiden, können Sie mit dem Parameter "-f" einen anderen Speicherort für den neuen Schlüssel angeben.

Upload

Bitte aktivieren Sie den SSH-Dienst auf Ihrem CPS-Onlinespeicher über das Kundenkonto. Danach können Sie mit dem Befehl cat ~/.ssh/id_rsa.pub | ssh -p23 [email protected] install-ssh-key Ihren Public-Key auf den CPS-Onlinespeicher hochladen und diesen automatisch für beide SSH-Ports hinzufügen.

server> cat ~/.ssh/id_rsa.pub | ssh -p23 [email protected] install-ssh-key
[email protected]'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 den CPS-Onlinespeicher 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 [email protected]

Upload ohne ssh-copy-id / Manuell

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

ssh -p 23 [email protected] mkdir .ssh
scp -P 23 .ssh/id_rsa.pub [email protected]:.ssh/authorized_keys

SSH Dienst auf Port 22 (SFTP)

Um den Public Key für den SSH-Dienst auf Port 22 zu verwenden, muss dieser in das RFC4716-Format konvertiert werden, bevor er hochgeladen wird.

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>"
AAAAB3NzaC1yc2EAAAADAQABAAABAQC/gwOm1z/rYpYTmEoRxvxX8W+d4p4i4Fo3
A7v+8Wqc1SZ2QhZ5+5vX8k9Cd5f5J5L5nZvz8G8fB5Yz1Dd1xv5NX9bP5N/B5F5/
5v5P5N/B5F5/5v5P5N/B5F5/5v5P5N/B5F5/5v5P5N/B5F5/5v5P5N/B5F5/5v5P
5N/B5F5/5v5P5N/B5F5/5v5P5N/B5F5/5v5P5N/B5F5/5v5P5N/B5F5/5v5P5N/B
5F5/5v5P5N/B5F5/5v5P5N/B5F5/5v5P5N/B5F5/5v5P5N/B5F5/5v5P5N/B5F5/
5F5/5v5P5N/B5F5/5v5P5N/B5F5/5v5P5N/B==
---- END SSH2 PUBLIC KEY ----

--> Dies ist ein Dummy-Beispiel!

Upload

Laden Sie nun die erstellte Datei hoch:

echo "mkdir .ssh" | sftp [email protected]
scp .ssh/id_rsa_rfc.pub [email protected]:.ssh/authorized_keys

Test

Je nach Format des hochgeladenen SSH-Schlüssels, ist ein Login ohne Passworteingabe nun 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
War diese Antwort hilfreich? 100 Benutzer fanden dies hilfreich (535 Stimmen)