表題の通り、Ubuntuを入れたサーバで全ユーザのパスワード認証を禁止するのではなく、特定のユーザのみパスワード認証を禁止して、公開鍵認証にしたい。


背景として、自身が利用するユーザは簡単なパスワードにしたいけれども、他に使用している方に鍵認証の設定を誘導するのは大変なので他の方には難解なパスワードのユーザを利用してもらいつつ、自身のみを公開鍵認証方式にしたい。


というわけで設定

公開鍵認証の手続きは下記の記事に記載があるので省略する。

SSHの鍵認証でログイン設定


SSHの設定で上の記事ではパスワード認証(PasswordAuthentication)を禁止(no)にしていたが、ここを少しいじる。

端末を開き、

$ sudo nano /etc/ssh/sshd_config

でSSHの設定ファイルを開き、下記のように設定する。

PubkeyAuthentication yes
PasswordAuthentication yes

※公開鍵認証とパスワード認証の両方を有効にする


sshd_configに下記の項目を追加(adduserで追加したユーザをhogeとした場合)

Match User hoge
        PasswordAuthentication no

hogeのみパスワード認証を禁止を追加し、下記のコマンドを実行して設定を有効にする

$ sudo sshd -t
sudo service ssh restart

サーバへのリモートアクセスをログアウトして、自身のマシンからパスワードなしでログインできることを確認する。