在我的 C# 项目中,我包含了 ChilkatDotNet2.dll
以便连接到 SFTP 服务器。目前,我尝试实现如下所示的简单连接方法:
Chilkat.Ftp2 F = null;
F = (Chilkat.Ftp2)new Chilkat.Ftp2();
F.Hostname = "sftp.domain.com";
F.Username = "username";
F.Password = "password";
F.Port = 22;
F.AuthTls = true;
if (!(F.Connect())) {
MainFrm.set_AlertMessage(F.ConnectFailReason);
}
它总是连接失败,我总是收到错误 200,这意味着
Connected, but failed to receive greeting from FTP server.
根据 Chilkat 文档。
我错过了什么?我尝试连接到一个简单的 ftp 服务器测试(没有 SSL/TLS)并且它连接正确,所以我想我遗漏了一些东西。当我尝试使用 Filezilla 连接到 SFTP 服务器时,我获得的凭据是正确的。谢谢。
更新
Chilkat.SFtp v_SFTP = null;
v_SFTP = (Chilkat.SFtp)new Chilkat.SFtp();
if (v_SFTP.Connect("sftp.domain.com", 22) {
if (v_SFTP.AuthenticatePw("username", "password")) {
IDVariant v_SUCCESS = null;
bool v_SUCCESS = v_SFTP.InitializeSftp();
}
}
else {
MainFrm.set_AlertMessage(v_SFTP.LastErrorText);
}
F = (Chilkat.Ftp2)new Chilkat.Ftp2();
Chilkat.Ftp2是一个FTP客户端。它支持FTP协议(protocol)。 SFTP 是一个完全不同的协议(protocol),只是恰好具有相似的名称。
如果您想使用 Chilkat 连接到 SFTP 服务器,请查看 Chilkat.SFtp .
我是一名优秀的程序员,十分优秀!