首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何获取远程服务器的sftp版本?

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

Stack Overflow用户
提问于 2016-09-11 03:05:35
回答 1查看 18.3K关注 0票数 4

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

有人告诉我在命令行中使用-vvv,但我不能提供任何有关它的文档。还有没有别的选择?我的服务器是基于Linux的。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-11 05:40:12

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

代码语言:javascript
运行
复制
$ telnet localhost 22
Trying ::1...
Connected to localhost.
Escape character is '^]'.
SSH-2.0-OpenSSH_7.9

在ssh debug输出中,您将查找以下行:

代码语言:javascript
运行
复制
debug1: Local version string SSH-2.0-OpenSSH_7.9
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.9

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

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

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

代码语言:javascript
运行
复制
sftp> version
SFTP protocol version 3

您也可以通过运行"sftp -vv“并查找以下调试输出行来获取它:

代码语言:javascript
运行
复制
debug2: Remote version: 3

请注意,OpenSSH是目前使用最广泛的SSH服务器,它统一实现SFTPversion3。

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

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39429606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档