rootログインを禁止する方法と潜んでいるかもしれない落とし穴【KUSANAGI9・ConoHa VPS】

恐らくKUSANAGIを導入した多くの初心者はrootでログインし作業しているのではないかと思います。
しかしrootログインを許可するのはセキュリティ上の問題があり、禁止するのが一般的です。

……という話を聞いて、設定変更してみたところ、

rootでログインできるじゃん! 書いてる通り設定したのに!

もしかしたらそんなオチが待っている人がいるかも。
あるいはrootログインできるままなのに気づかなかったりとか。
本稿ではKUSANAGIのrootログイン変更の方法について、そういう方まで含めて説明します。

もちろん私の環境だけかもしれないことは予め断っておきます。
次項だけで設定できるなら、それに越したことはありません。

天満川鈴 WRITTEN BY 天満川鈴
スポンサーリンク

SSHにおけるrootログイン禁止の一般的な方法

次のファイルを編集します。

/etc/ssh/sshd_config

viコマンドで開くか、FTPクライアントでファイルを直接開きます。
次の記述を探します。

PermitRootLogin yes

noに書き換えます。

PermitRootLogin no

sshdを再起動します。

# service sshd restart

rootログインできなくなっているはずです。
パスワードと鍵の両方でテストしてみてください。

ConoHa公式でも同じ説明をしています。

一般的な方法でできない場合もある

ところが先の方法でrootログインを禁止できない場合もあります。

ConoHa VPSの場合、sshd_configを開くとPermitRootLoginは以下の記述になっています。
(私の環境によるものかもしれないことは断っておきます)

#PermitRootLogin prohibit-password

「rootのパスワードログインを禁止する」という意味です。
なぜかコメントアウトされています。

多分、次の設定がされているからかな?

PasswordAuthentication no

「誰であろうとパスワードログインを禁止する」という意味です。
もちろんrootも含みますから先の設定は意味を持ちません。
そのためコメントアウトされているのかも?

ただrootの鍵ログインは許すわけですから、完全に禁止しておきたい。
コメントアウトを外して書き換えればいいのかな?

今度はviコマンドで編集する場合を記します。

#vi /etc/ssh/sshd_config
#PermitRootLogin prohibit-password
↓
PermitRootLogin no
:wq
# service sshd restart

ところが、

rootログインできちゃうじゃん! 確かにパスワードではログインできないけど!

何も変わってなかったりします。
sshd_configの記述は元に戻しておいてください

rootログインを禁止できない原因と対処法

実はなのですが、

ConoHa VPSの場合、他の場所にも設定ファイルがあるんです……

セキュリティに関わる部分なので曖昧な表現で書きます。
恐らくそれでもわかるはずです。

FTPクライアントで次のフォルダを開いてみてください。

/etc/ssh/sshd_config.d

いくつかの.confファイルがあるはずです。
片っ端から開くと、どれかのファイルのどこかに次の記述がされているはずです。

PermitRootLogin yes

コメントアウトされていません。
noに書き換えて保存してからsshdを再起動します。

PermitRootLogin no

# service sshd restart

テストしてみてください。
パスワードでも鍵でもrootログインできなくなっているはずです。

どうして別々の場所に設定ファイルがあるのか

今回の気づきと作業を経て、私の抱いた感想。

どうしてわざわざファイルを別々にわけるんだ!

ChatGPT君。

KUSANAGIや最近のLinuxでは、設定を分割管理する文化があるからじゃないですかね?

以下、ChatGPTの回答に基づいた説明です。

ConoHaは一般的なLinuxの設定です。
しかし最近のLinuxやサーバー環境では、設定ファイルを複数に分割して管理することが珍しくありません。
KUSANAGIは最近のLinux文化に則っています。
「設定したのに効かない」と感じた場合、同じフォルダや *.d ディレクトリ側で上書きされていないか確認してみましょう。
もしかしたら原因が見つかるかもしれません。

まとめ

KUSANAGIの場合、こういうトラブルは割とあります。

今回はPermitRootLoginそのものがコメントアウトされてるのに違和感がありました。
途中で「?」を重ねた通り。
やっぱり普通はyesかnoかを設定しないか?と。
素人感覚で探してみたところ見つかったわけです。

困ったら同じフォルダかその下のフォルダのファイルを片っ端から開いてみること。
結構、それで見つかったりします。

原始的な方法だとは思いますけど、私はエンジニアとして飯食ってるわけではないので……

プロならきっとうまく探すんでしょうね。
お疲れ様でした!

スポンサーリンク
天満川 鈴のプロフィール画像
WRITTEN BY

天満川 鈴

未経験からWEB業界に入り、現在はWEBディレクターとして実務に従事。 要件整理・導線設計・コンテンツ構成などを学びながら、日々改善を重ねています。 AIを活用したコンテンツ制作・効率化を強みとし、プロンプト設計を含めた制作フローの最適化にも取り組んでいます。
本サイトでは、WordPressやサイト制作に関する試行錯誤・検証内容を中心に発信。 技術検証の一環として、KUSANAGI公式サイトにて記事を2回紹介いただきました。

KUSANAGI ON VPS

VPSは、もう「黒い画面」だけじゃない。

「VPSは難しそう」と諦めていませんか? ConoHaのKUSANAGIなら、ブラウザ上の管理画面(KUSANAGI Manager)で、ドメイン設定からSSL発行まで直感的に操作可能です。

コマンド操作なしで世界最速級の環境を構築できる、今の時代の初心者にとっての最適解。私が長年愛用している理由がここにあります。

※当サイト経由で新規申し込みいただくと、特典として1000円分のクーポンをもらえます。

公式サイトで詳細を見る
× 閉じる