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:
Keyfile ist standard (/home/username/.ssh/id_rsa)
Keine Passphrase
Öffentlichen Schlüssel mit ssl-copy-id auf den Server kopiert, ssh-Verbindung aufgebaut
Funktioniert, aber ich hätte lieber ein anderes Keyfile verwendet.
Variante 2:
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
funktioniert leider nicht. Ich erhalte die Meldung:
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:
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.
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
Keine Passphrase
Öffentlichen Schlüssel mit ssl-copy-id auf den Server kopiert, ssh-Verbindung aufgebaut
ssh username@server
Variante 2:
ssh-keygen -b 4096
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
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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
Variante 3:
ssh-keygen -b 4096
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.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 667141
Url: https://administrator.de/forum/ssh-zertifikatsbasierte-authentifikation-667141.html
Ausgedruckt am: 22.12.2024 um 16:12 Uhr
3 Kommentare
Neuester Kommentar
Das hier
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.pub username@server
Ich gehe also davon aus, dass dieses hier funktionieren sollte:
ssh -i /home/username/.ssh/user_client_id_rsa username@server
Zitat von @mhard666:
Aaach, peinlich
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. Aaach, peinlich
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