我想知道login到SSH会话时使用了哪个密钥。 我想将密钥关联到本地数据库,并将电子邮件发送到与密钥对应的地址。
第一步是找出正在使用的密钥。
为此,您必须将sshd的LogLevel提升至VERBOSE 。
logLevel VERBOSE
在/etc/ssh/sshd_config重新启动sshd。 这将导致sshd将用于login的密钥的指纹logging到configuration的日志文件(/ var / log / secure,/ var / log / auth等)。 你会得到类似这样的消息
Dec 9 11:47:15 host sshd[32282]: Found matching RSA key: 54:d2:06:cf:85:ec:89:96:3c:a8:73:c7:a1:30:c2:8b
54:d2:06:cf:85:ec:89:96:3c:a8:73:c7:a1:30:c2:8b是用于login的密钥的指纹。
您可以使用该命令获取特定密钥的指纹
ssh-keygen -lf <keyfile>
其中keyfile是公钥
sshkeygen -lf /tmp/test.key 2048 21:02:4b:82:83:62:49:d7:5f:e0:8f:cf:ec:a3:5f:38 /tmp/test.key (RSA)
您将需要打开日志logging。
在客户端,“ssh -v”将使用哪个私钥。
在服务器端,默认日志级别将只显示使用公钥(而不是密码validation)。 您需要将sshd_config中的日志logging级别设置为至lessVERBOSE。