SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
技術者募集中

【ssh】鍵認証のとき、どの鍵でログインしたか調べる方法

問題

sshで鍵認証するようにしてあるのですが、カギを複数作成しています(authorized_keys に複数の鍵が登録されていて、1つのLinuxユーザーを複数人で共有している状態)。

/var/log/secure を見ても、だれがいつどの鍵でログインしたかわからない気がするんですけど…。

複数ある鍵のうち、どの鍵で認証しているか調べるにはどうしたらよいですか。

id_rsa 鍵認証

答え

sshd_config で SyslogFacility を AUTHPRIV 、LogLevel を VERBOSE にすると、

#SyslogFacility AUTH ← デフォルトの設定
SyslogFacility AUTHPRIV
#LogLevel INFO ← デフォルトの設定
LogLevel VERBOSE

/var/log/secure に以下のようなログが残る。

May 24 18:52:23 hostname sshd[26837]: Set /proc/self/oom_score_adj to 0
May 24 18:52:23 hostname sshd[26837]: Connection from 192.0.2.123 port 26503
May 24 18:52:24 hostname sshd[26837]: Found matching RSA key: 20:3a:10:64:4f:5f:fb:01:9a:7b:46:e8:98:25:44:72
May 24 18:52:24 hostname sshd[26837]: Accepted publickey for hogeuser from 192.0.2.123 port 26503 ssh2
May 24 18:52:24 hostname sshd[26837]: pam_unix(sshd:session): session opened for user hogeuser by (uid=0)

3行目のフィンガープリント(20:3a:10:64:4f:5f:fb:01:9a:7b:46:e8:98:25:44:72 など)で、どの鍵が使われたか分かる。

以下のコマンドで、フィンガープリントを確認。

# ssh-keygen -l -f /home/hogeuser/.ssh/authorized_keys
2048 28:9a:19:2f:13:e8:d4:9b:95:4c:07:69:7b:48:f3:a3  この鍵のコメント (RSA)
2048 20:3a:10:64:4f:5f:fb:01:9a:7b:46:e8:98:25:44:72  この鍵のコメント (RSA)
2048 ab:20:a0:0b:dd:e9:4e:1c:48:35:bd:70:25:ec:a5:1d  この鍵のコメント (RSA)
...
...

ログにあるフィンガープリントとと一致する鍵が使用されていると判断できる。

関連するメモ

コメント