如何记录客户端协商的Protocol
、KexAlgorithm
、Cipher
和MAC
算法以及客户端的用户代理字符串?
我正在寻找相当于 Apache HTTPD 的 OpenSSH自定义日志+日志格式+mod_ssl %{SSL_PROTOCOL}x %{SSL_CIPHER}x
+%{User-agent}i
我想(在服务器端)记录与客户端可用的相同信息:
$ ssh -v localhost 2>&1 |grep kex
debug1: kex: server->client [email protected] <implicit> none
debug1: kex: client->server [email protected] <implicit> none
+
$ ssh -v localhost 2>&1 |grep version
debug1: Local version string SSH-2.0-OpenSSH_6.7
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.7
答案1
至少使用LogLevel DEBUG
在服务器日志中查看这些消息。另外不要忘记sshd
更改后重新启动服务。
sshd[31049]: debug1: Client protocol version 2.0; client software version OpenSSH_6.0p1 Debian-4+deb7u3
sshd[31049]: debug1: kex: client->server aes128-ctr hmac-md5 none [preauth]
sshd[31049]: debug1: kex: server->client aes128-ctr hmac-md5 none [preauth]
如果您指的是“用户代理”的 SSH 客户端版本。
另请注意,日志中还会有更多信息。如果您使用 RHEL/Fedora,这些信息应该已经在日志中audit
(客户端软件版本除外)。