下面是连接方法,privateKey参数是私钥的地址。
哪位大神遇到过类似的问题,帮帮小弟。
public bool connect(String sftpip, int sftpport, String sftpusername, String privateKey, String passphrase)
{
try
{
JSch jsch = new JSch();
jsch.addIdentity(privateKey, passphrase); //private key authentication
Session sshSession = jsch.getSession(sftpusername, sftpip, sftpport);
if (sshSession == null)
{
MessageBox.Show("session is null");
}
Hashtable foo = new Hashtable();
foo.Add("StrictHostKeyChecking", "no"); //不驗証 HostKey
//foo.Add("userauth.gssapi-with-mic", "no");
sshSession.setConfig(foo);
sshSession.setTimeout(10000);//KevinStaticInitData.getFtpConnectTimeOut()) * NumberConstant.INT_1000);
sshSession.connect();
Channel channel = sshSession.openChannel("sftp");
channel.connect();
//sftp = (ChannelSftp) channel;
channel.disconnect();
sshSession.disconnect();
}
catch (Exception ex)
{
m_sEx = ex.Message;
MessageBox.Show(ex.Message);
return false;
}
return true;
}
1 个解决方案
#1
自己定一下。
最终找到问题是服务器那边账号的问题,删除账号后重建一个账户就OK了。
最终找到问题是服务器那边账号的问题,删除账号后重建一个账户就OK了。
#1
自己定一下。
最终找到问题是服务器那边账号的问题,删除账号后重建一个账户就OK了。
最终找到问题是服务器那边账号的问题,删除账号后重建一个账户就OK了。