C#连接SFTP| No suitable authentication method found to complete authentication (publickey,keyboard-in

一.场景

有个项目分为客户端(C#,windows)和服务端(java,linux,sftp),客户端往服务端发图片

二.使用  Renci.SshNet  nuget包

1.引入包  Renci.SshNetC#连接SFTP| No suitable authentication method found to complete authentication (publickey,keyboard-in_第1张图片

2.使用

这里有个坑,如果使用默认的构造函数连接可能出现   错误

 using (var client = new SftpClient(server,uname,pwd))
  {

{"No suitable authentication method found to complete authentication (publickey,keyboard-interactive)."}

??  意思是需要模拟键盘来输入密码-------------------

改为这样就可以了

 var connectionInfo = new KeyboardInteractiveConnectionInfo("172.16.101.60", "weblo");
                
                 connectionInfo.AuthenticationPrompt += delegate (object sender1, AuthenticationPromptEventArgs e2)
                  {
                      foreach (var prompt in e2.Prompts)
                      {
                          if (prompt.Request.Equals("Password: ", StringComparison.InvariantCultureIgnoreCase))
                          {
                              prompt.Response = "F888";
                          }
                      }
                  };

                using (var client = new SftpClient(connectionInfo))
                {

                         client.Connect(); //连接

                }

你可能感兴趣的:(c#,开发语言)