当前位置:  开发笔记 > 编程语言 > 正文

SFTP与"SSH over SSH"之间的差异

如何解决《SFTP与"SSHoverSSH"之间的差异》经验,为你挑选了2个好方法。

在C#SSH文件传输协议(SFTP)中寻找SFTP客户端时,我遇到了这两个合适的项目 - 一个和两个.

在尝试理解基础知识时,我遇到了这篇令人困惑的维基百科文章.SFTP和FTP通过SSH有什么区别?如果它不同,没有库似乎支持"FTP over SSH".



1> Kristopher J..:

这是区别:

SFTP(SSH文件传输协议)是一种提供文件传输和操作功能的协议.它可以在任何可靠的数据流上工作,但通常与SSH一起使用

"基于SSH的FTP"使用常规的旧FTP协议,但在客户端和服务器之间放置了SSH隧道.

您可能找不到"FTP over SSH"的库,因为通常通过运行SSH命令来设置隧道,一旦设置好,客户端和服务器就不需要知道隧道了.他们只是打开端口并以他们没有隧道的方式传输数据.

顺便说一句,你的另一个选择可能是FTP over SSL(FTPS),它受.NET支持.(参见http://msdn.microsoft.com/en-us/library/system.net.ftpwebrequest.enablessl.aspx.)


"你可能找不到'FTP over SSH'的库" - 至少有一个:-).Rebex文件传输包(http://www.rebex.net/file-transfer-pack/default.aspx)能够通过SSH通道运行FTP.这是可能的,因为我们的SshSession类可以用作Ftp类的(种类)代理(从技术上讲,它可以用作类工厂来创建FTP组件的通信套接字).它甚至能够通过SSL通道(而不是通过SSH)运行SFTP协议这样的奇怪,但是我们还没有找到任何支持它的服务器.

2> Martin Vobr..:

基本上,有以下文件传输协议:

FTP - 自20世纪70年代以来一直存在的普通旧FTP协议.首字母缩写词代表"文件传输协议".它通常在TCP端口21上运行.

SFTP - 另一种完全不同的文件传输协议,与FTP无关.SFTP通过SSH会话运行,通常在TCP端口22上运行.它自20世纪90年代末开始出现.首字母缩略词实际上代表"SSH文件传输协议".

FTP over SSH - 1)可能,但极少见的通过SSH通道隧道传输的FTP协议示例2)错误地命名为SFTP

(有关详细信息,请参阅Rebex上的 " 安全FTP,FTP/SSL,SFTP,FTPS,FTP,SCP ......有什么区别? "页面)

免责声明:我为Rebex工作

推荐阅读
勤奋的瞌睡猪_715
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有