ユーザーにSSH接続を認証する方法を知らせる方法はありますか?つまり、パスワードまたは公開鍵を介して?

ユーザーにSSH接続を認証する方法を知らせる方法はありますか?つまり、パスワードまたは公開鍵を介して?

公開鍵のみを使用するためにサーバーをロックしています。すべてのユーザーが切り替えられていることを確認し、スイッチをオンにする前にパスワードでログインした人がいないことを確認したいと思います。

答え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

関連情報