isseium's blog

田舎に住むWebエンジニアのブログ

ssh の認証方法をユーザごとに設定する

これまでは公開鍵認証をすべてのユーザに適用して、パスワード認証を無効にしていました。
が、諸事情で、あるユーザのみパスワード認証を使う必要がでてきたのでメモ。

方針

  • 原則として公開鍵認証のみ
  • ユーザ a のみパスワード認証も有効にする

キーワード

  • /etc/ssh/sshd_config
  • Matchブロック

手順

# vi /etc/ssh/sshd_config
原則として公開鍵認証のみを有効に

以下の設定になっているか確認します。

PubkeyAuthentication yes 
PasswordAuthentication no

(記載がない場合はどこかに書いてください)

ユーザa にのみパスワード認証を有効にする

最下部に以下を挿入

Match User a
  PasswordAuthentication yes

あとがき

これで完成です。
ユーザ以外にも、グループ、ホスト名、IPアドレスなんかでも制御できるようです。
詳しくは http://www.unixuser.org/~euske/doc/openssh/jman/sshd_config.htmlのMatchの項目を御覧ください。