我想在脚本中实现一个函数,该函数检查与 known_hosts 文件中给定主机对应的密钥是否正确。显而易见的方法是尝试 ssh 连接并解析它是否会导致 known_hosts 警告。由于以下原因,这是次优的:
- 如果主机不在know_hosts 文件中,则需要单独检查
- 它依赖于可能会更改的警告的特定措辞
- 它在您不需要运行的目标服务器上为您运行一个 ssh 命令,并且可能由于不同的原因(例如指定的登录 shell)而失败
- 需要有效的凭据
我试图找到可能用于该检查的选项ssh-keyscan
和ssh-keygen
命令,但没有找到它们。
进行此检查的最简单方法是什么?