2015-11-24 3 views
3

При обращении мой удаленный сервер, с SFTP, я постоянно получаю эту ошибкуошибка соединения WinSCP SFTP

Соединение было неожиданно закрыто. Сервер отправил статус выхода команды 0

Я заполнил те же учетные данные в WinSCP, он работает нормально. Где мне не хватает? Кроме того, вместо .ppk-файла, я использую «ssh-rsa 1024 #######################» в столбце keyfile в пользовательском интерфейсе моего проекта.

Спасибо,
Pranay

+0

Показать файл журнала сеансов WinSCP. –

+0

Вы решили свой первоначальный вопрос? Если вы это сделали, опубликуйте решение. –

+0

Для новой проблемы задайте новый вопрос. Это сайт Q & A, а не дискуссионный форум. –

ответ

1

Для задачи выше, я обнаружил, что при попытке «открыть сессию», т.е. session.Open (sessionOptions), это будет через исключение, так как сервер не аутентичности его ,

Поскольку моя задача состояла в том, чтобы «пароль меньше winscp login», то я должен должен предоставить: - 1. ". Ppk" файл, который является "puTTy private key". 2. Его «отпечаток ключа ssh».

После отладки в конце дня, наконец, выяснилось, что моя версия winsscp.dll была старой, поэтому я не предоставил мне свойства inbuild [metadata] в качестве 1. SshPrivateKeyPath -> расположение нашего файла .ppk. 2. SshHostKeyFingerprint 3. passphrase -> только для одного входа в систему.

Обновляя новую версию и выше, я могу открыть сеанс без каких-либо ошибок.

спасибо.

1

У меня также была та же проблема, когда я впервые попытался выполнить код, упомянутый в приведенной ниже ссылке.

https://winscp.net/eng/docs/library#example

Гугл это много, но я не смог найти какое-либо решение в отношении того же.

Наконец следующее я relalized, что я пропускаю номер_порта в примере

Добавление поля номера порта в мой код решить эту проблему.

SessionOptions sessionOptions = new SessionOptions 
{ 
    Protocol = Protocol.Sftp, 
    HostName = "11.22.33.44", 
    PortNumber = 2222, /* This is cause of the issue i was facing*/ 
    UserName = "abcdef", 
    Password = "ghijklmnop", 
    SshHostKeyFingerprint = "ssh-rsa 2048 aa:bb:cc:dd:ee:ff:gg:hh:ii:jj:kk:ll:mm:nn:oo:pp" 
}; 
0

Если вы можете связаться с WinSCP GUI, но не сборки .NET при работе как в той же среде (компьютер), вы, скорее всего, пропустили некоторые параметры (например, номер порта или отпечатком ключа хоста , как показывают другие ответы).

Самое простое решение - иметь WinSCP GUI generate a code template для вас на основе его рабочих параметров.

enter image description here


Если вы работаете код на другой машине, проверьте WinSCP FAQ Why does WinSCP not work in a new environment (operating system, machine, user account, network), when it works for me in a different environment already?

Хотя статья явно не о сборке .NET, но о WinSCP в целом, она охватывает проблемы, с которыми вы можете столкнуться и в сборке.