SSHである特定のユーザーやグループだけにパスワード認証/鍵認証を使わせる
投稿日:2015年11月07日
最終更新日:
もくじ
- Matchを使ってユーザーを識別→例外設定を使う
- 設定の手順と設定例
- 注意点
Matchを使ってユーザーを識別→例外設定を使う
sshd_configの設定で、通常はサーバーのリモートログインには鍵認証を使うようにしていると思います(してなかったら…サーバー管理人なら言わなくてもわかるかと)。しかし、例外設定であるユーザーだけパスワード認証でのログインを出来るようにすることもできます。その辺りの設定を組むときにMatch文が出てきます。
こんな感じで使います。 [VIM] Match 条件の種類 パターン #ここから下の文はMatch文で適合したユーザーのみに適用される(次のMatch文が登場するまでは) [/VIM] 指定できる条件は、
- User ユーザー名
- Group グループ名
- Host ホスト名
- Address アドレス
設定の手順と設定例
それではやってみます。sshd_configを開き、ファイル末尾に設定を追加していきます。 [VIM] sudo vim /etc/ssh/sshd_config #ここから設定を追記する #必ず設定ファイルの末尾に追記していくこと #設定例1 ユーザーhogeにのみパスワード認証を許可 #管理するユーザーが一人なら Match User hoge PasswordAuthentication yes #上の設定でユーザーhogeにのみパスワード認証が解禁される #設定例2 ユーザーfuga,suraのふたりにパスワード認証を許可 #書き方はほとんど変わらない Match User fuga,sura PasswordAuthentication yes #二人のユーザーにパスワード認証を解禁した #設定例3 グループpiyoに所属するユーザーにパスワード認証を許可 #そこそこたくさんユーザーがいるなら #パスワード認証を許可したいユーザーを全部新しく作成したグループに所属させ、 #そのグループにパスワード認証を解禁するのが手っ取り早い Match Group piyo PasswordAuthentication yes #グループpiyoにパスワード認証を解禁 [/VIM] こんな感じで一部のユーザーのみにパスワード認証を解禁し、後は全部鍵認証にしてしまうのが安全です。
注意点
鍵認証をサーバー全体で導入しているのは、セキュリティ強化のためです。今回の設定例では、いわば「例外」の穴を開けています。そこがセキュリティホールになったらまずいので、Rootになれるユーザーについては面倒でも鍵認証を使うようにしましょう。