You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
1. Updated the features list to be more in line with that we have available
now.
2. Updated chapter 3 with changes to the readme file. Also fixed a `#`
that should have been `##`, which threw off the chapter numbering.
3. Updated the links and bulleted lists to look better.
Copy file name to clipboardExpand all lines: wolfSSH/src/chapter01.md
+11-14Lines changed: 11 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,36 +10,33 @@ SSH is a layered set of protocols that provide multiplexed streams of data betwe
10
10
11
11
## Why Choose wolfSSH?
12
12
13
-
The wolfSSH library is a lightweight SSHv2 server library written in ANSI C and targeted for embedded, RTOS, and resource-constrained environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating environments as well because of its royalty-free pricing and excellent cross platform support. wolfSSH supports the industry standard SSH v2 and offers progressive ciphers such as Poly1305, ChaCha20, NTRU, and SHA-3. wolfSSH is powered by the wolfCrypt library. A version of the wolfCrypt cryptography library has been FIPS 140-2 validated (Certificate #2425). For additional information, visit the wolfCrypt FIPS FAQ or contact [email protected]
13
+
The wolfSSH library is a lightweight SSHv2 server library written in ANSI C and targeted for embedded, RTOS, and resource-constrained environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating environments as well because of its royalty-free pricing and excellent cross platform support. wolfSSH supports the industry standard SSH v2. wolfSSH is powered by the wolfCrypt library. A version of the wolfCrypt cryptography library has been FIPS 140-2 validated (Certificate #3389), and is a module in process for FIPS 140-3. For additional information, visit the wolfCrypt FIPS FAQ or contact [email protected].
14
14
15
15
### Features
16
16
17
17
18
-
- SSH v2.0 (server)
18
+
- SSH v2.0 (server and client)
19
19
20
20
- Minimum footprint size of 33kB
21
21
22
22
- Runtime memory usage between 1.4 and 2kB, not including a configurable receive buffer
Copy file name to clipboardExpand all lines: wolfSSH/src/chapter02.md
+16-11Lines changed: 16 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,35 +2,40 @@
2
2
3
3
wolfSSH is written with portability in mind and should generally be easy to build on most systems. If you have difficulty building, please don’t hesitate to seek support through our support forums, https://www.wolfssl.com/forums, or contact us directly at [email protected].
4
4
5
-
This section explains how to build wolfSSH on *nix-like and Windows environments, and provides guidance for building in a non-standard environment. You will find a getting started guide and example in section 3.
5
+
This section explains how to build wolfSSH on Linux, un\*x-like (BSD, macOS) and Windows environments, and provides guidance for building in a non-standard environment. You will find a getting started guide and example in section 3.
6
6
7
-
When using the autoconf/automake system to build, wolfSSH uses a single Makefile to build all parts and examples of the library, which is both simpler and faster than using Makefiles recursively.
7
+
When using the autotools system to build, wolfSSH uses a single Makefile to build all parts and examples of the library, which is both simpler and faster than using Makefiles recursively.
8
8
9
9
## Getting the Source Code
10
10
11
-
The most recent, up to date version can be downloaded from the GitHub website here: https://github.com/wolfSSL/wolfSSH
11
+
The most recent, up to date version can be downloaded from the GitHub website here: [https://github.com/wolfSSL/wolfssh](https://github.com/wolfSSL/wolfssh).
12
12
13
13
Either click the “Download ZIP” button or use the following command in your terminal:
Since wolfSSH is dependent on wolfCrypt, a configuration of wolfSSL is necessary. wolfSSL can be downloaded here: https://github.com/wolfSSL/wolfssl. The simplest configuration of wolfSSL required for wolfSSH is the default build that can be built from the root directory of wolfSSL with the following commands:
19
+
Since wolfSSH is dependent on wolfCrypt, a configuration of wolfSSL is necessary. wolfSSL can be downloaded here: [https://github.com/wolfSSL/wolfssl](https://github.com/wolfSSL/wolfssl). The simplest configuration of wolfSSL required for wolfSSH is the default build that can be built from the root directory of wolfSSL with the following commands:
20
20
21
21
```
22
22
$ ./autogen.sh (only if you cloned from GitHub)
23
-
$ ./configure --enable-ssh
23
+
$ ./configure --enable-wolfssh
24
24
$ make check
25
25
$ sudo make install
26
26
```
27
-
To use the key generation function in wolfSSH, wolfSSL will need to be configured with keygen:` --enable-keygen`.
28
-
29
-
If the bulk of wolfSSL code isn't desired, wolfSSL can be configured with the crypto only option: `--enable-cryptonly`.
27
+
To use the key generation function in wolfSSH, wolfSSL will need to be configured with keygen:
28
+
```
29
+
--enable-keygen
30
+
```
31
+
If the bulk of wolfSSL code isn't desired, wolfSSL can be configured with the crypto only option:
32
+
```
33
+
--enable-cryptonly
34
+
```
30
35
31
-
## Building on *nix
36
+
## Building with autotools
32
37
33
-
When building on Linux, *BSD, OS X, Solaris, or other *nix-like environments, use the autoconf system. To build wolfSSH run the following commands:
38
+
When building on Linux, BSD, macOS, Solaris, or other un\*x-like environments, use the autotools system. To build wolfSSH run the following commands:
34
39
```
35
40
$ ./autogen.sh (only if you cloned from GitHub)
36
41
$ ./configure
@@ -68,7 +73,7 @@ $ make src/libwolfssh.la
68
73
```
69
74
## Building on Windows
70
75
71
-
The visual studio project file can be found at: https://github.com/wolfSSL/wolfssh/blob/master/ide/winvs/wolfssh.sln
76
+
The Visual Studio project file can be found in the directory *ide\\winvs*.
72
77
73
78
The solution file, 'wolfssh.sln', facilitates building wolfSSH and its example and test programs. The solution provides both Debug and Release builds of Static and Dynamic 32- or 64-bit libraries. The file user_settings.h should be used in the wolfSSL build to configure it.
An example of connecting to another system would be
265
+
266
+
```
267
+
src/wolfssh$ ./examples/sftpclient/wolfsftp -p 22 -u user -h 192.168.1.111
268
+
```
269
+
221
270
## Shell Support
222
271
223
272
wolfSSH's example echoserver can now fork a shell for the user trying to log in. This currently has only been tested on Linux and macOS. The file echoserver.c must be modified to have the user's credentials in the user authentication callback, or the user authentication callback needs to be changed to verify the provided password.
@@ -232,3 +281,110 @@ By default, the echoserver will try to start a shell. To use the echo testing be
232
281
```
233
282
$ ./examples/echoserver/echoserver -f
234
283
```
284
+
285
+
## Post-Quantum
286
+
287
+
wolfSSH now supports the post-quantum algorithm Kyber. It uses the NIST
288
+
submission's Level 1 parameter set implemented by liboqs via an integration
289
+
with wolfSSH. It is hybridized with ECDHE over the P-256 ECC curve.
290
+
291
+
In order be able to use liboqs, you must have it built and installed on your
292
+
system. We support the 0.7.0 release of liboqs. You can download it from the
Copy file name to clipboardExpand all lines: wolfSSH/src/chapter10.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
## Open Source
4
4
5
-
wolfSSL (formerly CyaSSL), yaSSL, wolfCrypt, yaSSH and TaoCrypt software are free software downloads and may be modified to the needs of the user as long as the user adheres to version two of the GPL License. The GPLv2 license can be found on the gnu.org website(http://www.gnu.org/licenses/old-licenses/gpl-2.0.html).
5
+
wolfSSL, yaSSL, wolfCrypt, yaSSH and TaoCrypt software are free software downloads and may be modified to the needs of the user as long as the user adheres to version two of the GPL License. The GPLv2 license can be found on the gnu.org website: [http://www.gnu.org/licenses/old-licenses/gpl-2.0.html](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html).
6
6
7
7
wolfSSH software is a free software download and may be modified to the needs of the user as long as the user adheres to version three of the GPL license. The GPLv3 license can be found on the gnu.org website (https://www.gnu.org/licenses/gpl.html).
Copy file name to clipboardExpand all lines: wolfSSH/src/chapter11.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,10 +2,10 @@
2
2
3
3
## How to Get Support
4
4
5
-
For general product support, wolfSSL (formerly CyaSSL) maintains an online forum for the wolfSSL product family. Please post to the forums or contact wolfSSL directly with any questions.
5
+
For general product support, wolfSSL maintains an online forum for the wolfSSL product family. Please post to the forums or contact wolfSSL directly with any questions.
For information regarding wolfSSL products, questions regarding licensing, or general comments, please contact wolfSSL by emailing **[email protected]**.
Copy file name to clipboardExpand all lines: wolfSSH/src/chapter12.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,9 +4,9 @@
4
4
5
5
We regularly post update information on Twitter. For additional release information, you can keep track of our projects on GitHub, follow us on Facebook, or follow our daily blog.
6
6
7
-
wolfSSH on GitHub https://www.github.com/wolfssl/wolfssh
8
-
wolfSSL on Twitter [http://twitter.com/wolfSSL](http://twitter.com/wolfSSL)
9
-
wolfSSL on Facebook [http://www.facebook.com/wolfSSL](http://www.facebook.com/wolfSSL)
10
-
wolfSSL on Reddit https://www.reddit.com/r/wolfssl/
11
-
Daily Blog https://wolfssl.com/wolfSSL/Blog/Blog.html
7
+
-wolfSSH on GitHub [https://www.github.com/wolfssl/wolfssh](https://www.github.com/wolfssl/wolfssh)
8
+
-wolfSSL on Twitter [https://twitter.com/wolfSSL](https://twitter.com/wolfSSL)
9
+
-wolfSSL on Facebook [https://www.facebook.com/wolfSSL](https://www.facebook.com/wolfSSL)
10
+
-wolfSSL on Reddit [https://www.reddit.com/r/wolfssl/](https://www.reddit.com/r/wolfssl/)
11
+
-Daily Blog [https://wolfssl.com/wolfSSL/Blog/Blog.html](https://wolfssl.com/wolfSSL/Blog/Blog.html)
0 commit comments