Wie lassen sich sowohl root als auch eingeschränkte Benutzer in SSH zulassen?

0

Ist es möglich (und wenn ja, wie), machen Sie Folgendes mit openssh-server:

  • sich authentifizieren können root Benutzer mit einem Schlüssel und keinem Passwort
  • in der Lage sein, a non-root Benutzer mit einem Schlüssel und keinem Passwort
  • das zu verhindern non-root Benutzer ab dem Anmelden als root mit seinem / ihrem eigenen Schlüssel
  • mit einer einzigen Instanz von sshdmit nur einem TCP port

Und ja, ich bin mir der Risiken sehr bewusst PermitRootLogin yes Möglichkeit.

Ulrik
quelle

Antworten:

2

Dies sollte "out the box" funktionieren und sollte nichts weiter erfordern, als die öffentlichen Schlüssel der Benutzer in ihre .ssh / authorized_keys -Datei für den entsprechenden Benutzer auf dem Server einzufügen. (Wenn diese Datei für den Benutzer nicht vorhanden ist, machen Sie sie!)

Die einzige Sache, die Sie beachten sollten, ist, dass, wenn der öffentliche Schlüssel des Benutzers ohne Rootberechtigung zum Server root / .ssh / authorised_keys hinzugefügt wird, sich dieser Benutzer ohne Rootberechtigung als root auf dem Server anmelden kann, um dies zu vermeiden Dazu fügen Sie einfach nicht ihren Schlüssel zur root-Datei authorized_keys 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 darf (wenn überhaupt), indem Sie eine Zeile wie "AllowUsers [email protected] [email protected] user2" hinzufügen, die nur root und user1 von einer bestimmten IP-Adresse aus zulässt Benutzer2 kann sich von überall aus anmelden. Sie können dies mit beliebig vielen Benutzer / IP-Kombinationen erweitern.

davidgo
quelle
Vielen Dank! Das habe ich nicht gemerkt, weil der Server etwas seltsam konfiguriert war (ein einzelner Server) AuthorizedKeysFile im sshd_config, für alle Benutzer)
Ulrik