Skip to content

Commit fc114fb

Browse files
committed
Merge remote-tracking branch 'remotes/origin/develop'
2 parents 0f08b85 + 504d1dc commit fc114fb

File tree

356 files changed

+38409
-7963
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

356 files changed

+38409
-7963
lines changed

README.md

Lines changed: 74 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,29 @@
1-
SSH.NET
1+
SSH.NET
22
=======
33
SSH.NET is a Secure Shell (SSH-2) library for .NET, optimized for parallelism.
44

55
[![Version](https://img.shields.io/nuget/vpre/SSH.NET.svg)](https://www.nuget.org/packages/SSH.NET)
6+
[![NuGet download count](https://img.shields.io/nuget/dt/SSH.NET.svg)](https://www.nuget.org/packages/SSH.NET)
67
[![Build status](https://ci.appveyor.com/api/projects/status/ih77qu6tap3o92gu/branch/develop?svg=true)](https://ci.appveyor.com/api/projects/status/ih77qu6tap3o92gu/branch/develop)
78

89
## Introduction
9-
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.
10+
This project was inspired by **Sharp.SSH** library which was ported from java and it seems like was not supported
11+
for quite some time. This library is a complete rewrite, without any third party dependencies, using parallelism
12+
to achieve the best performance possible.
13+
14+
## Documentation
15+
There is MSDN-style class documentation in a .chm file for each release, which you can find in the Assets section
16+
of the [latest release](https://github.com/sshnet/SSH.NET/releases/latest) page. Please note that you will need
17+
to [right-click and "unblock"](https://support.microsoft.com/en-us/help/2021383/some-chm-files-may-not-render-properly-on-windows-vista-and-windows-7)
18+
the CHM file after you download it.
19+
20+
Currently (4/18/2020), the documentation is very sparse. Fortunately, there are a large number of tests in
21+
[Renci.SshNet.Tests](https://github.com/sshnet/SSH.NET/tree/develop/src/Renci.SshNet.Tests) that demonstrate
22+
usage with working code.
23+
24+
If the test for the functionality you would like to see documented is not complete, then you are cordially
25+
invited to read the source, Luke, and highly encouraged to generate a pull request for the implementation of
26+
the missing test once you figure things out. 🤓
1027

1128
## Features
1229
* Execution of SSH command using both synchronous and asynchronous methods
@@ -17,22 +34,72 @@ This project was inspired by **Sharp.SSH** library which was ported from java an
1734
* Remote, dynamic and local port forwarding
1835
* Shell/Terminal implementation
1936
* Specify key file pass phrase
20-
* Use multiple key files to authenticate
21-
* Supports 3des-cbc, aes128-cbc, aes192-cbc, aes256-cbc, aes128-ctr, aes192-ctr, aes256-ctr, blowfish-cbc, cast128-cbc, arcfour and twofish encryptions
37+
* Use multiple key files to authenticate
2238
* Supports publickey, password and keyboard-interactive authentication methods
23-
* Supports RSA and DSA private key
24-
* Supports DES-EDE3-CBC, DES-EDE3-CFB, DES-CBC, AES-128-CBC, AES-192-CBC and AES-256-CBC algorithms for private key encryption
2539
* Supports two-factor or higher authentication
2640
* Supports SOCKS4, SOCKS5 and HTTP Proxy
2741

42+
## Encryption Method
43+
44+
**SSH.NET** supports the following encryption methods:
45+
* aes256-ctr
46+
* 3des-cbc
47+
* aes128-cbc
48+
* aes192-cbc
49+
* aes256-cbc
50+
* blowfish-cbc
51+
* twofish-cbc
52+
* twofish192-cbc
53+
* twofish128-cbc
54+
* twofish256-cbc
55+
* arcfour
56+
* arcfour128
57+
* arcfour256
58+
* cast128-cbc
59+
* aes128-ctr
60+
* aes192-ctr
61+
2862
## Key Exchange Method
2963

3064
**SSH.NET** supports the following key exchange methods:
65+
* curve25519-sha256
66+
* curve25519-sha256<span></span>@libssh.org
67+
* ecdh-sha2-nistp256
68+
* ecdh-sha2-nistp384
69+
* ecdh-sha2-nistp521
3170
* diffie-hellman-group-exchange-sha256
3271
* diffie-hellman-group-exchange-sha1
72+
* diffie-hellman-group16-sha512
73+
* diffie-hellman-group14-sha256
3374
* diffie-hellman-group14-sha1
3475
* diffie-hellman-group1-sha1
3576

77+
## Public Key Authentication
78+
79+
**SSH.NET** supports the following private key formats:
80+
* RSA in OpenSSL PEM and ssh.com format
81+
* DSA in OpenSSL PEM and ssh.com format
82+
* ECDSA 256/384/521 in OpenSSL PEM format
83+
* ED25519 in OpenSSH key format
84+
85+
Private keys can be encrypted using one of the following cipher methods:
86+
* DES-EDE3-CBC
87+
* DES-EDE3-CFB
88+
* DES-CBC
89+
* AES-128-CBC
90+
* AES-192-CBC
91+
* AES-256-CBC
92+
93+
## Host Key Algorithms
94+
95+
**SSH.NET** supports the following host key algorithms:
96+
* ssh-ed25519
97+
* ecdsa-sha2-nistp256
98+
* ecdsa-sha2-nistp384
99+
* ecdsa-sha2-nistp521
100+
* ssh-rsa
101+
* ssh-dss
102+
36103
## Message Authentication Code
37104

38105
**SSH.NET** supports the following MAC algorithms:
@@ -45,7 +112,7 @@ This project was inspired by **Sharp.SSH** library which was ported from java an
45112
* hmac-sha2-512
46113
* hmac-sha2-512-96
47114
* hmac-ripemd160
48-
115+
* hmac-ripemd160<span></span>@openssh.com
49116

50117
## Framework Support
51118
**SSH.NET** supports the following target frameworks:

THIRD-PARTY-NOTICES.TXT

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
SSH.NET uses third-party libraries or other resources that may be
2+
distributed under licenses different than the SSH.NET software.
3+
4+
License notice for BouncyCastle
5+
-------------------------------
6+
7+
http://bouncycastle.org/csharp
8+
9+
Copyright (c) 2000 - 2018 The Legion of the Bouncy Castle Inc. (http://www.bouncycastle.org)
10+
11+
Permission is hereby granted, free of charge, to any person obtaining a copy of
12+
this software and associated documentation files (the "Software"), to deal in
13+
the Software without restriction, including without limitation the rights to
14+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
15+
the Software, and to permit persons to whom the Software is furnished to do so,
16+
subject to the following conditions:
17+
18+
The above copyright notice and this permission notice shall be included in all
19+
copies or substantial portions of the Software.
20+
21+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
23+
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
24+
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
25+
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
26+
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27+
28+
License notice for Chaos.NaCl
29+
-------------------------------
30+
31+
https://github.com/CodesInChaos/Chaos.NaCl
32+
33+
Public domain
34+
35+
C# port + code by Christian Winnerlein (CodesInChaos)
36+
37+
Poly1305 in c
38+
written by Andrew M. (floodyberry)
39+
original license: MIT or PUBLIC DOMAIN
40+
https://github.com/floodyberry/poly1305-donna/blob/master/poly1305-donna-unrolled.c
41+
42+
Curve25519 and Ed25519 in c
43+
written by Dan Bernstein (djb)
44+
public domain
45+
from Ref10 in SUPERCOP http://bench.cr.yp.to/supercop.html
46+
47+
(H)Salsa20 in c
48+
written by Dan Bernstein (djb)
49+
public domain
50+
from SUPERCOP http://bench.cr.yp.to/supercop.html
51+
52+
SHA512
53+
written by Christian Winnerlein (CodesInChaos)
54+
public domain
55+
directly from the specification
56+
57+
License notice for BCrypt
58+
-------------------------
59+
60+
Copyright (c) 2006 Damien Miller <[email protected]>
61+
Copyright (c) 2010 Ryan D. Emerle
62+
63+
Permission to use, copy, modify, and distribute this software for any
64+
purpose with or without fee is hereby granted, provided that the above
65+
copyright notice and this permission notice appear in all copies.
66+
67+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
68+
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
69+
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
70+
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
71+
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
72+
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
73+
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

appveyor.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
os: Visual Studio 2015
1+
os: Visual Studio 2019
22

33
before_build:
4-
- nuget restore src\Renci.SshNet.VS2015.sln
4+
- nuget restore src\Renci.SshNet.VS2019.sln
55

66
build:
7-
project: src\Renci.SshNet.VS2015.sln
7+
project: src\Renci.SshNet.VS2019.sln
88
verbosity: minimal
99

1010
test_script:
1111
- cmd: >-
12-
vstest.console /logger:Appveyor src\Renci.SshNet.Tests\bin\Debug\Renci.SshNet.Tests.dll /TestCaseFilter:"TestCategory!=integration&TestCategory!=LongRunning"
12+
vstest.console /logger:Appveyor src\Renci.SshNet.Tests\bin\Debug\net40\Renci.SshNet.Tests.dll /TestCaseFilter:"TestCategory!=integration&TestCategory!=LongRunning"
1313
14-
vstest.console /logger:Appveyor src\Renci.SshNet.Tests.NET35\bin\Debug\Renci.SshNet.Tests.NET35.dll /TestCaseFilter:"TestCategory!=integration&TestCategory!=LongRunning"
14+
vstest.console /logger:Appveyor src\Renci.SshNet.Tests\bin\Debug\net35\Renci.SshNet.Tests.dll /TestCaseFilter:"TestCategory!=integration&TestCategory!=LongRunning"

build/build.cmd

Lines changed: 0 additions & 12 deletions
This file was deleted.

0 commit comments

Comments
 (0)