无法让 SharpSSH 通过 FTP 连接
我在使用 SharpSSH 建立安全 FTP 连接时遇到问题。 到目前为止,我一直在使用 DOS 命令行应用程序 MOVEit Freely 进行连接,并且连接正常:
C:\> ftps -user:ABC -password:123 xxx.xxx.xxx.mil
但是,当我尝试使用 SharpSSH 执行相同操作时,出现错误,提示连接超时或服务器没有正确响应:
Dim sftp = New Tamir.SharpSsh.Sftp("xxx.xxx.xxx.mil", "ABC", "123")
sftp.Connect()
或者
Dim host = New Tamir.SharpSsh.SshStream("xxx.xxx.xxx.mil", "ABC", "123")
知道我可能做错了什么,或者我如何找出失败的原因?
请注意,我需要安全的 FTP 连接,因此 .NET 类不是一个选项。 如果 SharpSSH 存在的话,我愿意尝试它们。
I'm having trouble making a secure FTP connection using SharpSSH. Up to now I've been using the DOS command line app MOVEit Freely to make the connection, and it connects fine:
C:\> ftps -user:ABC -password:123 xxx.xxx.xxx.mil
However, when I try to do the same thing with SharpSSH, I get an error that says either the connection timed out or the server didn't respond correctly:
Dim sftp = New Tamir.SharpSsh.Sftp("xxx.xxx.xxx.mil", "ABC", "123")
sftp.Connect()
or
Dim host = New Tamir.SharpSsh.SshStream("xxx.xxx.xxx.mil", "ABC", "123")
Any idea what I might be doing wrong, or how I could figure out what's failing?
Note that I need a secure FTP connection, so the .NET classes are not an option. I'm willing to try alternatives to SharpSSH if they exist though.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您正在使用 Tamir.SharpSsh,它是一个 SSH 库。 但是,您似乎正在连接到 FTPS(或 FTP/SSL)服务器。 FTPS 是完全不同的协议,与 SFTP 或 SSH 没有任何共同点。
我们网站上的以下页面讨论了 FTP、FTP/SSL、FTPS 和 SFTP 协议之间的差异:rebex .net/secure-ftp.net/。
简要总结如下:
FTP 是简单、陈旧、不安全的文件传输协议。 通过网络传输明文密码。
FTPS - 通过 TLS/SSL 加密的 FTP
渠道。 FTP和FTPS的关系是
类似于 HTTP 和 HTTPS。
FTP/SSL - 与 FTPS 相同
SFTP - SSH 文件传输协议。 与 FTP 没有任何共同点(期待名称)。 通过 SSH 加密通信通道运行。
安全 FTP - 可以是 SFTP 或 FTPS :-(
您可以尝试 Rebex File Transfer Pack 组件,它支持 SFTP 和 FTPS 协议(但与 SharpSSH 不同,它要花费一些钱)。
连接到 FTP/SSL 服务器看起来像这:
you are using Tamir.SharpSsh, which is a SSH library. However, it looks like you are connecting to FTPS (or FTP/SSL) server. The FTPS is completely different protocol and has nothing common with SFTP nor SSH.
Following page on our website discusses the differences between FTP, FTP/SSL, FTPS and SFTP protocols: rebex.net/secure-ftp.net/.
Brief summary follows:
FTP plain, old, insecure file transfer protocol. Transfers clear text password over the network.
FTPS - FTP over TLS/SSL encrypted
channel. FTP and FTPS relation is
similar to HTTP and HTTPS.
FTP/SSL - same as FTPS
SFTP - SSH File Transfer Protocol. Has nothing common with FTP (expect the name). Runs over SSH encrypted communication channel.
Secure FTP - could be either SFTP or FTPS :-(
You may try Rebex File Transfer Pack component, which supports both SFTP and FTPS protocols (but it costs some money unlike the SharpSSH).
Connection to FTP/SSL server would look like this:
另一个不错的选择(也不是免费的)是 edtFTPnet/PRO,一个稳定的、成熟的库,为 .NET 中的 FTPS(和 SFTP)提供全面支持。
以下是一些用于连接的示例代码:
Another great alternative (also not free) is edtFTPnet/PRO, a stable, mature library which offers full support for FTPS (and SFTP) in .NET.
Here's some sample code for connecting: