You should use private key without password or pageant, since WinSCP C# classes don't support setting password for private key.
"No supported authentication methods available" while connecting to SFTP using WinSCP in C#
-
11-12-2021 - |
Domanda
I'm trying to connect to a SFTP server using WinSCP in C#. This is my code:
SessionOptions sessionOptions = new SessionOptions
{
Protocol = Protocol.Sftp,
HostName = "ip",
PortNumber = portNR,
UserName = "username",
Password = "",
SshHostKeyFingerprint = "fingerPrint",
SshPrivateKeyPath = "\\PrivateKey\\PrivateKey.ppk ",
};
using (Session session = new Session())
{
session.Open(sessionOptions);
}
But when I run the application and it reaches this like
session.Open(sessionOptions);
I get this Error:
Disconnected: No supported authentication methods available (server sent: publickey,gssapi-with-mic)
Soluzione
Altri suggerimenti
The latest version of WinSCP .NET assembly does support setting passphrase to an encrypted private key.
Use the SessionOptions.PrivateKeyPassphrase
.
SessionOptions sessionOptions = new SessionOptions
{
...
SshPrivateKeyPath = "\\PrivateKey\\PrivateKey.ppk",
SshPrivateKeyPassphrase = "passphrase",
};
See also Automating private key authentication in WinSCP FAQ.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow