Не удается подключиться к серверу sftp из службы Windows - PullRequest
0 голосов
/ 17 мая 2019

Я работаю над службой Windows, которая загружает файлы на сервер sftp, используя SSH.NET. Проблема в том, что когда я запускаю код, отвечающий за отправку файла из консольного приложения Windows, все работает нормально, но когда точно такой же код выполняется из службы Windows, я получаю исключение при подключении к SFTP: «Невозможно установить соединение, поскольку целевой компьютер активно отказывает он "* * 1001

У меня на той же машине работает SFTP-сервер для тестирования.

    public void Send(string host, string userName, int port, string password, string filePath)
    {
        var connectionInfo = new ConnectionInfo(host, userName, new PasswordAuthenticationMethod(userName, password));
        try
        {
            var sftpClient = new SftpClient(connectionInfo);            
            sftpClient.Connect(); // exception occurs there
            using (FileStream fileStream = File.OpenRead(filePath))
            {
                sftpClient.UploadFile(fileStream, $"{Path.GetFileName(filePath)}", true);
            }
            sftpClient.Disconnect();
            sftpClient.Dispose();
        }
        catch (Exception exception)
        {
            Logger.Log($"{host} | {password} | {port} | {userName}");
            Logger.Log(exception.Message);
            Logger.Log(exception.StackTrace);
        }
    }

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

...