SSHである特定のユーザーやグループだけにパスワード認証/鍵認証を使わせる

サーバーを管理する際に使われるSSH接続においては、基本的には鍵認証を用いるべきです(Rootになれるユーザーは特に)。しかし、実際の運用では、SFTPログインでファイル管理するユーザーにまで鍵を用意するのはなかなか面倒です。そんな時に便利な小技を解説します。当方はCentOSサーバー(さくらのVPS)を使用しています。参考サイト→[OpenSSH] sshd_configの設定項目 – Life with IT

もくじ

  • Matchを使ってユーザーを識別→例外設定を使う
  • 設定の手順と設定例
  • 注意点

Matchを使ってユーザーを識別→例外設定を使う

sshd_configの設定で、通常はサーバーのリモートログインには鍵認証を使うようにしていると思います(してなかったら…サーバー管理人なら言わなくてもわかるかと)。しかし、例外設定であるユーザーだけパスワード認証でのログインを出来るようにすることもできます。その辺りの設定を組むときにMatch文が出てきます。

こんな感じで使います。 [VIM] Match 条件の種類 パターン #ここから下の文はMatch文で適合したユーザーのみに適用される(次のMatch文が登場するまでは) [/VIM] 指定できる条件は、

  • User ユーザー名
  • Group グループ名
  • Host ホスト名
  • Address アドレス
になります。今回はUserとGroupを使って設定してみます。

設定の手順と設定例

それではやってみます。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になれるユーザーについては面倒でも鍵認証を使うようにしましょう。

このブログを応援する・寄付する

当ブログでは暗号通貨による寄付を募っております。

モナゲボタン モナゲボタン

Bitcoin:

Monacoin:

Litecoin: