2016-04-01 3 views
0

Я использую SSH.NET library для подключения к удаленному SFTP-серверу. Я пытаюсь использовать очень простой код, но он не работаетC# SFTP Нет такого файла

using (var client = new SftpClient(host, username, password)) 
{ 
    client.Connect(); 
    client.ChangeDirectory(@"sftp://server.example.com/other_directory"); 
} 

Однако, это бросает исключение, говоря No Such File о методе ChangeDirectory.

Я попробовал то же самое с Curl, но получил ошибку говоря

локон: (51) SSL сертификат равный или дистанционный ключ SSH не был OK

Однако, я добавил --insecure аргумент Curl и все работало нормально.

Не удалось ответить --insecure. Почему библиотека SSH.NET не работает или есть еще одна причина? Есть ли способ имитировать то, что делает --insecure в C#?

Благодаря

+0

Звуки мне как 'SFTP: // server.example.com /' отрицает защищенное соединение. Таким образом, это может быть проблема конфигурации, а не что-то, что вы делаете неправильно на стороне клиента. –

+0

Я подумал, что это может быть в первую очередь, но я могу получить к нему доступ через завиток и другие сторонние инструменты на моей машине, поэтому я решил, что это будет на моей стороне? – TryNCode

+0

Захват данных с помощью сниффера, такого как wirehark или fiddler, и сравнение результатов между рабочими и нерабочими приложениями. Обычно проблема заключается в различиях в заголовках html. – jdweng

ответ

1

Если кто-то работает в этот вопрос, оказывается, что ни один из таких методов, как ChangeDirectory и UploadFile ожидать путь относительно WorkingDirectory собственности. В результате, я зафиксировал мою проблему, изменив его

client.ChangeDirectory(@"/other_directory"); 

Надежда, что помогает кто-то еще

+0

'/ other_directory' - это абсолютный путь, а не относительный путь. Дело в том, что методы требуют путей, но вместо этого вы указали URL. –

+0

Я думал, что это относительный путь? Это относительно рабочего каталога http://www.coffeecup.com/help/articles/absolute-vs-relative-pathslinks/ – TryNCode

+0

Эта статья неверна. Он говорит «пути», но на самом деле это касается URL-адресов. Мы говорим о путях здесь, а не о URL-адресах. Путь относительно рабочего каталога не может начинаться с косой черты. –

Смежные вопросы