我想做一些类似于ssh-keyscan
的事情。我已经研究了libssh
和libssh2
,但它们提供的函数只返回客户端和主机同意的密钥。我还检查了ssh-keyscan
源代码,但它似乎非常复杂,因为所有的全局标志都是左右设置的。
所以我的问题是,有没有什么简单的方法可以通过某种库来实现这种功能,或者我必须采取类似ssh-keyscan
的方法,手动设置几乎所有的东西?
Imo,ssh-keyscan
为其支持的每个密钥类型连接一次,试图就该密钥达成一致。如果成功,它将打印密钥,如果不成功,则继续另一个密钥。
使代码变得复杂的是,它在单个线程中并行完成所有连接。如果按顺序实现它,它会简单得多。