我最近收到一家云托管提供商的通知,他们将不再接受使用 libssh2 1.7.0 以下版本的客户端的 Git 连接。我们有几个使用 Git 的构建工具,我正在尝试弄清楚如何检查它们是使用该库的哪个版本编译的。我之前的搜索没有找到答案。
答案1
在大多数/所有?(Linux)系统中,git
(如命令行工具)不会针对任何 SSH 库进行编译。相反,它使用 SSH 客户端(如ssh
来自openssh-clients
)进行传输(这通常意味着git
与完全无关libssh2
)。
然而,有些情况下情况并非如此。在这种情况下
- 检查工具的依赖关系
- 检查
ldd /path/to/your/gittool
二进制文件链接到的动态库 - 如果你的工具非常奇怪,并且是静态链接
libssh2
,那么最可靠的识别方法是源代码