
Ist es möglich (und wenn ja, wie), Folgendes zu tun mit openssh-server
:
root
um den Benutzer mit einem Schlüssel und ohne Passwort authentifizieren zu könnennon-root
um einen Benutzer mit einem Schlüssel und ohne Passwort authentifizieren zu können- um zu verhindern, dass sich der Benutzer mit seinem eigenen Schlüssel
non-root
anmeldetroot
- um dies mit einer einzigen Instanz von zu tun
sshd
, mit nur einerTCP port
Und ja, ich bin mir der Risiken einer Option durchaus bewusst PermitRootLogin yes
.
Antwort1
Dies sollte sofort funktionieren und nichts weiter erfordern, als die öffentlichen Schlüssel der Benutzer in ihre .ssh/authorized_keys-Datei für den entsprechenden Benutzer auf dem Server einzugeben. (Wenn diese Datei für den Benutzer nicht existiert, erstellen Sie sie!)
Sie müssen lediglich beachten, dass sich Nicht-Root-Benutzer als Root auf dem Server anmelden können, wenn ihr öffentlicher Schlüssel zur Datei „root/.ssh/authorized_keys“ des Servers hinzugefügt wird. Um dies zu vermeiden, fügen Sie den Schlüssel einfach nicht zur Datei „authorized_keys“ des Roots hinzu.
Sie sind bereits auf PermitRootLogin gestoßen - das natürlich auf dem Server aktiviert werden muss. Sie können (optional) einschränken, wer sich von wo aus anmelden kann (wenn überhaupt), indem Sie eine Zeile wie "AllowUsers[email geschützt] [email geschützt]Benutzer2" - erlaubt nur Root und Benutzer1 von einer bestimmten IP-Adresse aus, aber Benutzer2 kann sich von überall aus anmelden. Sie können dies mit beliebig vielen Benutzer/IP-Kombinationen erweitern.