Help us understand the problem. What is going on with this article?

ご存じですか? sshd_config の PermintRootLogin の各種パラメータについて

More than 3 years have passed since last update.

構築中に色々と知見があったので、まとめます。

PermitRootLogin

LinuxサーバでSSHを起動させた時に、 /etc/ssh/sshd_config でこのパラメータをイジらない方はいないのではないでしょうか。

デフォルトでは次のようになっています。

/etc/ssh/sshd_config
#PermitRootLogin yes

これは、 rootユーザでのログインを許可 している状態です。
そのため、大抵の場合(かどうかは知りませんが)、手っ取り早く以下のような状態にしてしまうことが多いかと思います。

/etc/ssh/sshd_config
PermitRootLogin no

コメントアウトを解除し、パラメータをnoに設定しています。
これでrootユーザのログインは全て拒否したことになりますね。

しかしこの PermitRootLogin
yes/no 以外にも設定できるパラメータがあるのはご存知でしょうか。

without-password

「rootでログインしたいけど、パスワードのみの認証だと不安・・・。」
そういった場合に利用できるのが、without-password です。
読んで字の如くですが、このパラメータを指定すると rootユーザのみパスワード認証を拒否することができます。
ではどうやって認証するのかというと、公開鍵認証を使うわけですね。
rootのパスワード認証を取りやめるだけでも不正アクセスをされるリスクがグンと下がると思います。

さて、これ以外にももう一つ、パラメータが存在します。

forced-commands-only

「rootユーザでログインはしないけどroot権限でサーバにアクセスするコマンドは使いたい」といった場合には、 without-password より forced-commands-only がオススメです。
これは パスワード認証不可で、rootユーザでの直接ログインもできませんが、root権限を利用したコマンドのみ受け付ける というものになります。

「rootユーザでは一切ログインしないけど、root権限でコマンドを使いたい。」
そういった場合に利用できます。

具体的には、

  • rootユーザでしかアクセスできないファイルをscpでサーバにコピーしたい
  • rsyncを使ってサーバ間で同期を取りたい

といった時でしょうか。
特に同期を取る場合ですが、root権限でないと参照できないファイルもあります。
/etc 配下の設定ファイルを全部同期したい!」
といった場合はroot権限が確実に必要となると思います。
勿論 without-password だけでも全然OKです。
しかし、rootユーザで直接ログインする必要が一切ないのであれば、 forced-commands-only にしておいた方が安全でしょう。

PermitRootLogin のまとめ

パラメータ 説明
yes rootユーザのログインを許可
no rootユーザのログインを拒否
without-password パスワードを使用したrootユーザのログインを拒否
forced-commands-only rootユーザの直接ログインを拒否するが、root権限を使うコマンドのアクセスは許可




本当は authorized_keys についても一緒にまとめたかったのですが、既にまとめてる方がいたので今回はこれだけにしました。

以上です。

ine1127
気ままに書きます。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした