1
Sftp sftp = new Sftp(host, user);

// 1.   Generate an SSH-2-RSA public key by PuttyGen 
// 2.   Register the public key on the SFTP server 
// 3.   Save the private key in putty Format 
// 4.   Use WinSCP to connect to the sftp server using the private key generated in the step 3 
// 5.   If the connection works, You will have to load the private key generated in the step 3 and  convert it to OpenSSh format. 
// 6.   Use the private key generated in step 5, make sure that the authentication parameters are right, then test the tamirSftp connection. 
// 7.   Make sure that you have a reference to the three DLL (DiffieHelman, OrgMantalis and TamirSharpSSH ) 

sftp.AddIdentityFile(keyFileName);
sftp.Connect(22);

它抛出以下错误:

at Tamir.SharpSsh.jsch.Session.connect(Int32 port) 

连接 SFTP 机器是否必须输入密码?

4

2 回答 2

1

我通过在AddIdentityFile()命令中添加密码参数来解决这个问题。您可能在生成私钥时添加了密码,将其包含在您的调用中。

Sftp sftp = new Sftp(host, user);

//Include it here
sftp.AddIdentityFile(keyFileName, "yourpassphrase");
sftp.Connect(22);
于 2018-09-12T09:04:36.567 回答
0

我不太确定 WinSCP,但是对于反射 SFTP,您需要提供密码才能连接到服务器并注册公钥。API 文档是否提供了这方面的任何数据?

于 2013-11-14T08:14:03.603 回答