SSH でルートユーザーと制限付きユーザーの両方を許可するにはどうすればよいですか?

SSH でルートユーザーと制限付きユーザーの両方を許可するにはどうすればよいですか?

以下の操作は可能ですか (可能であれば、その方法を教えてください) openssh-server

  • rootパスワードなしでキーを使用してユーザーを認証できるようにする
  • non-rootパスワードなしでキーを使用してユーザーを認証できるようにする
  • ユーザーが自分のキーでnon-rootログインできないようにするroot
  • の単一のインスタンスでそれを行うにはsshd、1つだけ使用してくださいTCP port

はい、私はオプションのリスクを十分認識していますPermitRootLogin yes

答え1

これは「そのまま」動作するはずで、サーバー上の対応するユーザーの .ssh/authorized_keys ファイルにユーザーの公開鍵を入れること以外は何も必要ありません。(このファイルがユーザーに存在しない場合は、作成してください。)

注意すべき唯一の点は、非ルート ユーザーの公開キーがサーバーの root/.ssh/authorized_keys に追加されると、その非ルート ユーザーはサーバー上で root としてログインできるようになることです。これを回避するには、そのキーをルートの authorized_keys ファイルに追加しないでください。

すでに PermitRootLogin について触れましたが、これはもちろんサーバー上で有効にする必要があります。「AllowUsers」のような行を追加することで、誰がどこからログインできるかを(オプションで)制限できます。[メールアドレス] [メールアドレス]「user2」 - 特定の IP アドレスからの root と user1 のみを許可しますが、user2 はどこからでもログインできます。必要に応じて、任意の数のユーザー/IP の組み合わせでこれを拡張できます。

関連情報