Linux sshd の特定ユーザーのみパスワード認証

概要

  • Linuxにてsshdのパラメータをカスタマイズする紹介です。sshdを鍵認証として設定している場合に、特定のユーザーのみパスワード認証に切り替える方法となります。
  • CentOS 7 の事例です。
 

設定方法

設定変更前の確認


$ sudo scp ./testfile testuser@xx.xx.xx.xx:/home/testuser
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
lost connection

$ sudo ssh testuser@xx.xx.xx.xx
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
 

設定手順


$ sudo vi /etc/ssh/sshd_config

← 下記を追記
-----
Match User testuser
  PasswordAuthentication yes
-----

$ sudo passwd testuser
ユーザー testuser のパスワードを変更。
新しいパスワード:
新しいパスワードを再入力してください:
passwd: すべての認証トークンが正しく更新できました。

$ systemctl status sshd
$ sudo systemctl restart sshd
$ systemctl status sshd

← sshdのrestartでは、sshセッションは切れない
 

設定変更後の確認


$ sudo ssh testuser@xx.xx.xx.xx
testuser@xx.xx.xx.xx's password:

$ sudo scp ./testfile testuser@xx.xx.xx.xx:/home/testuser
testuser@xx.xx.xx.xx's password: