Skip to content

Files Uploads sometimes but fails most of the time. getting error SSH.NET (Permission denied (publickey)) #620

@DevMusaab

Description

@DevMusaab

I am trying to upload file using SFTP. The file gets uploaded sometimes and most the times it throws the error SSH.NET (Permission denied (publickey)) The SFTP server accepts only whitelist IP addresses.

public void SetConnection(string userName, string strRSAKey)
        {
            var authMethods = new List<AuthenticationMethod>();
            authMethods.Add(new PrivateKeyAuthenticationMethod(
                userName, 
                new[] { new PrivateKeyFile(GenerateStream(strRSAKey)) }
                ));

            connectionInfo = new ConnectionInfo(hostName, port, userName, authMethods.ToArray());
        }

        public bool UploadFile(string sourceFilePath, string destinationFilePath)
        {
            if (connectionInfo != null)
            {
                using (var client = new SftpClient(connectionInfo))
                {
                    client.Connect();
                    if (client.IsConnected)
                    {
                        var csvFile = File.Open(sourceFilePath, FileMode.Open);
                        client.UploadFile(csvFile, destinationFilePath, true);
                        csvFile.Dispose();
                    }
                    client.Disconnect();
                    return true;
                }
            }
            return false;
        }

        private Stream GenerateStream(string str)
        {
            var stream = new MemoryStream();
            var writer = new StreamWriter(stream);
            writer.Write(str);
            writer.Flush();
            stream.Position = 0;
            return stream;
        }

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions