Žiadny popis

Gert Driesen 7dde512a9c Add a RemotePathTransformation property to ScpClient that can be used to control if and how a remote path should be transformed before passed on to the scp command. 8 rokov pred
build 87a45a8f52 Move past beta2. 8 rokov pred
src 7dde512a9c Add a RemotePathTransformation property to ScpClient that can be used to control if and how a remote path should be transformed before passed on to the scp command. 8 rokov pred
test 852efaf9f9 Modify SocketAbstraction.CanWrite to return false when socket is null. 9 rokov pred
.gitattributes d43423896c Actually normallise the End of Lines 9 rokov pred
.gitignore 07c225016e Update VS2012 projects to SshNet.Security.Cryptography v1.1.0. 9 rokov pred
LICENSE 45ab50572d Removed copyright. 9 rokov pred
README.md 46966d37cb Precise that we only support SSH-2. 8 rokov pred
appveyor.yml 44f3f03873 One more try... 8 rokov pred

README.md

SSH.NET

SSH.NET is a Secure Shell (SSH-2) library for .NET, optimized for parallelism.

Version Build status

Introduction

This project was inspired by Sharp.SSH library which was ported from java and it seems like was not supported for quite some time. This library is a complete rewrite, without any third party dependencies, using parallelism to achieve the best performance possible.

Features

  • Execution of SSH command using both synchronous and asynchronous methods
  • Return command execution exit status and other information
  • Provide SFTP functionality for both synchronous and asynchronous operations
  • Provides SCP functionality
  • Provide status report for upload and download sftp operations to allow accurate progress bar implementation
  • Remote, dynamic and local port forwarding
  • Shell/Terminal implementation
  • Specify key file pass phrase
  • Use multiple key files to authenticate
  • Supports 3des-cbc, aes128-cbc, aes192-cbc, aes256-cbc, aes128-ctr, aes192-ctr, aes256-ctr, blowfish-cbc, cast128-cbc, arcfour and twofish encryptions
  • Supports publickey, password and keyboard-interactive authentication methods
  • Supports RSA and DSA private key
  • Supports DES-EDE3-CBC, DES-EDE3-CFB, DES-CBC, AES-128-CBC, AES-192-CBC and AES-256-CBC algorithms for private key encryption
  • Supports two-factor or higher authentication
  • Supports SOCKS4, SOCKS5 and HTTP Proxy

Key Exchange Method

SSH.NET supports the following key exchange methods:

  • diffie-hellman-group-exchange-sha256
  • diffie-hellman-group-exchange-sha1
  • diffie-hellman-group14-sha1
  • diffie-hellman-group1-sha1

Message Authentication Code

SSH.NET supports the following MAC algorithms:

  • hmac-md5
  • hmac-md5-96
  • hmac-sha1
  • hmac-sha1-96
  • hmac-sha2-256
  • hmac-sha2-256-96
  • hmac-sha2-512
  • hmac-sha2-512-96
  • hmac-ripemd160
  • hmac-ripemd160@openssh.com

Framework Support

SSH.NET supports the following target frameworks:

  • .NET Framework 3.5
  • .NET Framework 4.0 (and higher)
  • .NET Standard 1.3
  • Silverlight 4
  • Silverlight 5
  • Windows Phone 7.1
  • Windows Phone 8.0
  • Universal Windows Platform 10

Usage

Establish an SFTP connection using both password and public-key authentication:

var connectionInfo = new ConnectionInfo("sftp.foo.com",
                                        "guest",
                                        new PasswordAuthenticationMethod("guest", "pwd"),
                                        new PrivateKeyAuthenticationMethod("rsa.key"));
using (var client = new SftpClient(connectionInfo))
{
    client.Connect();
}

Building SSH.NET

Software net35 net40 netstandard1.3 sl4 sl5 wp71 wp8 uap10.0
Windows Phone SDK 8.0 x x x x
Visual Studio 2012 Update 5 x x x x x x
Visual Studio 2015 Update 3 x x x x x
Visual Studio 2017 x x

NDepend