如何自动向用户发送SSH服务器的新公钥?

当一个SSH服务器的密钥对,也就是密钥

/etc/ssh/ssh_host_(rsa|dsa|ecdsa|etc)_key 

和在

 /etc/ssh/ssh_host_(rsa|dsa|ecdsa|etc)_key.pub 

被更新,SSH用户应该被通知关于服务器的新的公钥。

假设每个用户都有电子邮件地址作为公共密钥注释,是否有办法自动通知每个SSH用户服务器密钥对的更改?

有没有一个工具可以做到这一点,或者我应该滚动我自己的(shell|python|etc)脚本?

请注意,您的DNS服务器可能包含SSHFPlogging。 这不会明确回答你的问题,虽然它可能是你的解决scheme的一部分:

每当你的服务器密钥对改变,你可以有更新这些DNSlogging(我用puppet做这个)。 虽然最后我检查了一下,客户端集成仍然有限。

公钥就是这样的:public。 如果您以某种替代方式(网页,发送电子邮件,如您所build议的)发布公钥信息,它们都是有效的。 但是…其他同行可能对这个变化怀疑。 有一种方法可以确认您发送的电子邮件是合法的吗? (也许,如果你使用PGP)。 如果您在“官方”网页上公开您的公钥,这意味着公钥是真实的? (也许,如果你的主页,没有被黑客入侵)。

当一个SSH客户端尝试连接公共密钥已经改变,它知道它。 也许只是发送电子邮件通知关键的变化就足够了。