Runtime: Support of SFTP and SCP

Created on 8 Nov 2019  路  12Comments  路  Source: dotnet/runtime

Please add support of sftp and scp protocols in the "System.Net" Namspace. Since FTP isn't a reliable protocol any more, it is time to support more secure and widly supported protocols for .net core.

api-suggestion area-System.Net

Most helpful comment

@MattMcL4475 In case you didn't see the announcement, the issue you mentioned (https://github.com/sshnet/SSH.NET/issues/355) is fixed in version 2020.0.0-beta1 of SSH.NET.

All 12 comments

.NET Core avoids implementing authentication/encryption but defers that to the OS.
For example: SslStream uses OpenSSL on Linux.

For SFTP, SCP this would mean an extra dependency (for example, on libssh).

A 3rd party package is probably your best option: https://www.nuget.org/packages?q=ssh.

cc @bartonjs

Okay, I got the point.
Most of the free available options aren't maintained well. like SSH.NET

So, it seems cryptography doesn't seems an issue any more.

Some concrete issues I'm aware of:

  • There isn't a public .NET Core cryptography API that allows to implement SSH key exchange.
  • SSH is an open protocol, and new key types, encryption algorithms are 'frequently' added. Such newer algorithms aren't supported by .NET Core (like ChaCha20-Poly1305). While OpenSSH supports many things, some SSH servers are really restrictive in what they allow.

Most of the free available options aren't maintained well. like SSH.NET

SSH.NET works fine for most use-cases. If you have specific issues, report them in the GitHub project: https://github.com/sshnet/SSH.NET.

Triage: Let's see more about interest from community (upvotes).

Note: This may be better suited for external library, not necessarily have it in the platform itself.

@tmds +1 for native SSH support in .NET Core. SSH.NET is effectively broken on macOS Catalina due to https://github.com/sshnet/SSH.NET/issues/355

@MattMcL4475 I'll be fixing that issue some time this week. I know it's long overdue.

Maintained list of all known 3rd party SFTP client libraries for .NET (both free and commercial) is here: https://www.sftp.net/client-libraries

@MattMcL4475 In case you didn't see the announcement, the issue you mentioned (https://github.com/sshnet/SSH.NET/issues/355) is fixed in version 2020.0.0-beta1 of SSH.NET.

Is there a reason to keep this open now? Is there an unmet need that can only reasonably be met in the platform itself?

This is right, there is no reason to keep this issue open.

Thanks @chrgraefe

Was this page helpful?
0 / 5 - 0 ratings

Related issues

chunseoklee picture chunseoklee  路  3Comments

omariom picture omariom  路  3Comments

bencz picture bencz  路  3Comments

omajid picture omajid  路  3Comments

yahorsi picture yahorsi  路  3Comments