2016-01-07 6 views
0

Так что это мой код, который я в основном копировал и вставлял с сайта SharpSSH.Исключение SharpSSH при попытке загрузить файл на удаленный сервер SFTP

Sftp oSftp = new Tamir.SharpSsh.Sftp(_ftpURL, _UserName, _Password); 
oSftp.Connect(_Port); 
oSftp.Put(LocalDirectory + "/" + FileName, _ftpDirectory + "/" + FileName); 
oSftp.Close(); 

Когда я запускаю это, я получаю «первый шанс исключение» на oSftp.Connect(_Port)

A first chance exception of type 'Tamir.SharpSsh.jsch.JSchException' occurred in Tamir.SharpSSH.dll 

ли кто-нибудь опыт работы с SharpSSH имеют ни малейшего представления, почему это происходит? Я также попытался загрузить файлы на сервер с помощью Rubex, но он дал мне ту же ошибку.

+0

Если бы я был вам я хотел бы изменить технологию, я хотел бы использовать SSHNET над SharpSsh. Вот ссылка, которая может вам помочь: http://stackoverflow.com/questions/11781808/sftp-ssh-net-dll-instead-of-sharpssh – billybob

+0

Не случайно ли вы подключаетесь к серверу FTPS с помощью SFTP? Каков ваш номер порта? –

+0

Не сказал ничего о протоколе, к сожалению. Должен ли он быть SSH, а не FTPS? –

ответ

0

Сначала вам нужно передать только путь к папке сервера и не указывать имя файла в этом пути.

oSftp.Put (LocalDirectory + "/" + FileName, _ftpDirectory);

, а также убедитесь, что вы добавили ниже пакеты из NuGet

Install-Package DiffieHellman Install-Package Org.Mentalis.Security

0

просто проверить свой путь к файлу и путь, по которому вы хотите, чтобы загрузить на sftp.

пример:

Sftp sftp=new Sftp("host","username","pass"); 
sftp.Connect(); 

sftp.Put("path of your local file","path to upload file on sftp server"); 

sftp.Close();