如何找出哪个密钥用于公钥认证?

Gyo*_*eee 7 linux ssh authentication public-key

几个开发人员在测试服务器上使用共享帐户,使用公钥身份验证。有什么方法可以找出用于身份验证的密钥(例如密钥注释)?

Dav*_*ser 5

您是想在已经发生的事情(取证)之后发现这一点,还是想这样做以便您可以记录谁做了什么?

对于取证:在我的 Fedora 系统上,/var/log/secure包含每个公钥身份验证和用户名的记录,但没有说明使用了哪个密钥。你可能不走运

为了将来的可审计性:您可以使用该authorized_keys文件来设置每个登录受限的命令,然后运行一个记录身份验证的程序(以及可能的后续命令,使用类似sudoscript 的东西):

如果一行开头的选项短语包含关键字 command="string",那么任何使用该特定密钥进行身份验证的 ssh 连接都将只运行指定的命令,即使给定的命令行指定了另一个命令。

不过必须说,设置多个帐户,然后设置共享访问区域可能更有意义......


wzz*_*zrd 5

...使用共享帐户...

感谢您在解释为什么这是一个坏主意时为我们提供了一个完美的例子。;-)

说真的,想要你想要的不能做 afaik。如果“键注释”是指 id_rsa 文件中键后的注释,那也是不行的。它是一个评论,它不会发送到另一端的服务器。

真的。设置多个帐户。