gpt4 book ai didi

linux - 如何获取远程服务器的sftp版本?

转载 作者:可可西里 更新时间:2023-11-01 11:45:29 26 4
gpt4 key购买 nike

作为尝试调试问题的一部分,我想知道在我尝试推送文件的远程服务器上安装了哪个版本的 sftp。

我被告知在命令行使用 -vvv,但我找不到任何关于它的文档。还有其他选择吗?我的服务器是基于 Linux 的。

我的另一个问题是:假设两台服务器没有安装相同版本的 SFTP,是否有一种协议(protocol)版本协商来确保它们“说同一种语言”?

最佳答案

要获取远程 SSH 版本,可以使用 telnetnc连接到 ssh 端口。远程 ssh 服务器将发送其软件版本字符串:

$ telnet localhost 22
Trying ::1...
Connected to localhost.
Escape character is '^]'.
SSH-2.0-OpenSSH_7.9

在 ssh 调试输出中,您会查找这些行:

debug1: Local version string SSH-2.0-OpenSSH_7.9
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.9

第一行是您本地客户端的版本。第二行是远程服务器的ssh协议(protocol)和软件版本。

您在这里寻找的是“OpenSSH_7.9”部分。这告诉您远程服务器是 OpenSSH。实际的 SFTP 服务器几乎肯定是 sftp-server该版本的 OpenSSH 附带的程序。

如果你特别想要 the SFTP protocol version , sftp 命令行实用程序有一个“版本”命令,它打印协商的协议(protocol)版本:

sftp> version
SFTP protocol version 3

您还可以通过运行“sftp -vv”并查找这行调试输出来获取它:

debug2: Remote version: 3

请注意,OpenSSH 是迄今为止使用最广泛的 SSH 服务器,它统一实现了 SFTP 版本 3。

我要补充一点,OpenSSH 调试输出没有真正的文档。理解方式是到download a copy of the source并找出哪些调试消息包含您想要的信息。

关于linux - 如何获取远程服务器的sftp版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39429606/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com