
公開鍵のみを使用するためにサーバーをロックしています。すべてのユーザーが切り替えられていることを確認し、スイッチをオンにする前にパスワードでログインした人がいないことを確認したいと思います。
答え1
Ubuntuから:
$ sudo cat /var/log/auth.log|grep ssh|grep Accept
CentOS/RHELの場合:
$ sudo cat /var/log/secure|grep ssh|grep Accept
これにより、すべての接続とその接続が認証された方法が表示されます(ログファイルが最後に置き換えられた後)。
もしあなたならただパスワード接続を表示するには、別のgrepを介してパイプするだけです。
... grep ssh|grep Accept|grep password
ボーナスポイントの場合は、まだパスワードを使用しているユーザーの簡単なリストです(上記のコマンド出力の列9にユーザー名が表示されているとします)。
... grep password|awk '{print $9}'|sort|uniq
答え2
環境変数方式
その可能性があります...PermitUserEnvironment
設定でtrueに設定したことが満足のいくものであれば、キーのsshd_config
環境変数といくつかのチェックを組み合わせて、/etc/profile
パスワードメソッドがまだ誰にも使用されていることを警告/拒否することができます。 。
ファイルには$HOME/.ssh/authorized_keys
次の内容があります。
environment="KEYUSED=yes" ssh-dsa AAA...
このキーを使用すると、/etc/profile
ランタイム変数 KEYUSED が「yes」に設定されます。
ログ入力方法
または、キーを使用している項目があるかどうか/var/log/secureを確認してください。
Jul 29 13:58:20 localhost sshd[827]: Accepted publickey for steve from 192.168.124.1 port 50829 ssh2: RSA d3:35:bc:ed:c7:6f:11:27:44:f8:13:66:af:1e:8e:7e
パスワードを使用する項目
Jul 29 14:02:08 localhost sshd[1320]: Accepted password for foo from 127.0.0.1 port 57460 ssh2