簡體   English   中英

使用Sharp SSH進行系統IOException流讀取結束

[英]System IOException Stream Read End with Sharp SSH

我目前在我的一個項目中遇到了一個非常奇怪的問題。

我在我的代碼中實現了Tamir Gal的Sharp SSH庫,以便每個FTP上傳一些文件。 當我在調試模式下運行代碼時,一切正常。 但是當我構建解決方案並使用該構建版本進行嘗試時,我得到一個System.IO.IOException:

Tamir.SharpSsh.jsch.JSchException: Session.connect: System.IO.IOException: End of IO  Stream Read at Tamir.SharpSsh.jsch.IO.getByte(Byte[] array, Int32 begin, Int32 length)
at Tamir.SharpSsh.jsch.Session.read(Buffer buf)
at Tamir.SharpSsh.jsch.User.Auth.start(Session session)
at Tamir.SharpSsh.jsch.UserAuthNone.start(Session session)
at Tamir.SharpSsh.jsch.Session.connect(Int32 connectTimeout)
at Tamir.SharpSsh.jsch.Session.connect(Int32 connectTimeout)
at Tamir.SharpSsh.jsch.SshBase.ConnectSession(Int32 tcpPort)
at Tamir.SharpSsh.jsch.SshBase.Connect(Int32 tcpPort)
at Tamir.SharpSsh.jsch.SshBase.Connect()

看起來數據流存在問題(Hello Captain Obvious!:)),因此程序甚至沒有建立完成連接方法。 我只是不明白為什么一切都在調試時工作。 dll在構建過程中被正確復制。

代碼如下所示:

sftpClient = new Sftp(this.ftpHost, this.ftpUser, this.ftpPassword);
sftpClient.Connect();

所有變量都具有正確的值,我可以在像Filezilla這樣的客戶端中使用它們連接到SFTP服務器。

如果有人能給我一個提示或有類似的問題,我會非常感謝每一條評論。

提前謝謝大家,祝你有個愉快的一天。

我的同事剛剛找到了解決方案:

在SharpSSH中你有3個Dll:

  • Org.Mentalis.Security.dll
  • Tamir.SharpSSH.dll
  • DiffieHellman.dll

因為我從來沒有在代碼中引用Org.Mentalis.Security.dll,我完全忘了在構建過程中復制它。 因此,SharpSSH中繼的整個安全層無法訪問,這就是造成錯誤的原因。

我希望這個帖子可以幫助其他一些不經意的人。 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM