mhard666
Goto Top

SSH Zertifikatsbasierte Authentifikation

Hallo allerseits,

ich möchte von meinem NAS eine Verbindung per SSH zu meinem Server aufbauen, um automatisiert Dateien herunterzuladen (auf das NAS zu kopieren).
Grundsätzlich ist zertifikatsbasierte Authentifizierung bei SSH für mich kein Problem. In Verbindung mit dem automatischen Verbindungsaufbau gibt's dann doch eine Herausforderung, die ich gerade nicht zu meistern im Stande bin...

Was ich bis jetzt versucht habe...

Variante 1:
ssh-keygen -b 4096
Keyfile ist standard (/home/username/.ssh/id_rsa)
Keine Passphrase
Öffentlichen Schlüssel mit ssl-copy-id auf den Server kopiert, ssh-Verbindung aufgebaut
ssh username@server
Funktioniert, aber ich hätte lieber ein anderes Keyfile verwendet.

Variante 2:
ssh-keygen -b 4096
Keyfile nicht mehr Standard (/home/username/.ssh/user_client_id_rsa)
Keine Passphrase
wieder den öffentlichen Schlüssel mit ssl-copy-id auf den Server kopiert und ssh-Verbindung aufgebaut
ssh -i /home/username/.ssh/user_client_id_rsa.pub username@server
funktioniert leider nicht. Ich erhalte die Meldung:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/home/username/.ssh/user_client_id_rsa.pub' are too open.  
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "/home/username/.ssh/user_client_id_rsa.pub": bad permissions  
Die Permissions sind analog der privaten/öffentlichen Schlüsseldateien aus der ersten Variante: 0600 der private und 0644 der öffentliche Schlüssel, 0700 das Verzeichnis .ssh und 0755 das Verzeichnis username.

Variante 3:
ssh-keygen -b 4096
Keyfile nicht standard (s. Variante 2)
Passphrase verwendet
öffentlichen Schlüssel auf den Server kopiert und ssh-Verbindung aufgebaut (analog Variante 2). Passphrase eingegeben - funktioniert. Grundsätzlich die präferierte Lösung, leider wüsste ich nicht, wie ich die Passphrase ohne manuell einzugreifen mitgeben könnte.

Gibts hier vielleicht den einen oder anderen Linux/Unix/*BSD-Guru, der mir auf die Sprünge helfen könnte...

NAS ist ein TrueNAS 12 und der Server ist Debian 10.

Vielen Dank schon mal...
Gruß mhard666.

Content-ID: 667141

Url: https://administrator.de/contentid/667141

Ausgedruckt am: 22.11.2024 um 01:11 Uhr

HanTrio
Lösung HanTrio 27.05.2021 um 22:18:01 Uhr
Goto Top
Das hier
ssh -i /home/username/.ssh/user_client_id_rsa.pub username@server
kann so auch nicht funktionieren, dann beim -i soll ja der Pfad zum private key folgen - du verwendest jedoch den vorher generierten public key -> erkennbar einerseits an der Dateiendung, und andererseits ist es auch nachvollziehbar, dass dann zusätzlich über "falsche" permissions gemault wird ;) (denn der public key darf / muss ja lesbar sein).

Ich gehe also davon aus, dass dieses hier funktionieren sollte:
ssh -i /home/username/.ssh/user_client_id_rsa username@server
(?)
mhard666
mhard666 28.05.2021 um 07:29:38 Uhr
Goto Top
Aaach, peinlich face-wink

Steht ja auch so in meiner Doku drin. Es ist aber auch verdammt verlockend, den ssh-copy-id Befehl herzunehmen und zum ssh Befehl umzuschreiben, anstatt alles neu abzutippern - muss man halt darauf achten, auch das übergebene Keyfile anzupassen...

Danke.
VG. mhard666
it-fraggle
it-fraggle 28.05.2021 um 08:43:54 Uhr
Goto Top
Zitat von @mhard666:

Aaach, peinlich face-wink

Steht ja auch so in meiner Doku drin. Es ist aber auch verdammt verlockend, den ssh-copy-id Befehl herzunehmen und zum ssh Befehl umzuschreiben, anstatt alles neu abzutippern - muss man halt darauf achten, auch das übergebene Keyfile anzupassen...

Danke.
VG. mhard666
Der einzige Trost besteht darin, dass es auch anderen Administratoren mal so geht. face-smile