wolfSSH Lightweight SSH Library
The wolfSSH library is a lightweight SSHv2 client and 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 is powered by the wolfCrypt library. A version of the wolfCrypt cryptography library has been FIPS 140-2 validated (Certificate #3389). For additional information, visit the wolfCrypt FIPS FAQ or contact firstname.lastname@example.org
Get the latest open source GPLv3 version now!
Release Date: 12/28/2022
- SSH v2.0 client and server support
- SCP and SFTP file transfer support
- Leverages wolfCrypt crypto library
- Support Available
- Small footprint size
- Low runtime memory usage
- Long list of supported platforms
- Takes advantage of wolfCrypt's portability and hardware cryptography support
Platform and Language Support
wolfSSH is built for maximum portability and is generally very easy to compile on new platforms. If your desired platform is not listed under the supported operating environments, please contact us.
wolfSSH supports the C programming language as a primary interface. If you have interest in using wolfSSH in another programming language that it does not currently supported, please contact us.
Because wolfSSH is powered by wolfCrypt, wolfSSH has access to all the platforms with hardware cryptography/acceleration that are supported by wolfCrypt. To see the list of platforms, please see our hardware cryptography support page.
- SSH v2.0 (client and server)
- Minimum footprint size of 33kB
- Runtime memory usage between 1.4 and 2kB, not including a configurable receive buffer
- Multiple Hashing Functions: SHA-1, SHA-2 (SHA-256, SHA-384, SHA-512)
- Block, Stream, and Authenticated Ciphers: AES (CBC, CTR, GCM, CCM)
- Public Key Options: RSA, DH, EDH
- ECC Support (ECDH and ECDSA with curves: NISTP256, NISTP384, NISTP521
- Client authentication support (RSA and ECC public key, and password)
- SCP support
- SFTP support
- Basic shell support
- Remote command execution
- Port forwarding support
- Simple API
- Hardware Cryptography Support: Intel AES-NI support, Intel AVX1/2, RDRAND, RDSEED, Cavium NITROX support, STM32F2/F4 hardware crypto support, Freescale CAU / mmCAU / SEC, Microchip PIC32MZ, support for MPLAB Harmony on PIC32
- Echoserver functionality
- Includes a MS Visual Studio solution to simplify SSH usage on Windows
- Interop Tested Against:
- OpenSSH, Tera term, PuTTY, Dropbear, Firezilla, BitVise
- wolfSSH has support for chipsets including ARM, Intel, Motorola, mbed, NXP/Freescale, Microchip (PIC32)/Atmel, STMicroelectronics (STM32F2/F4), Analog Devices, Texas Instruments, and more
- If you would like to use or test wolfSSH on another chipset, let us know and we’ll be happy to support you.
Supported Operating Environments
- Win32/64, Linux, Mac OS X, Solaris, ThreadX, VxWorks, FreeBSD, NetBSD, OpenBSD, embedded Linux, Yocto, OpenEmbedded, Micrium's µC/OS, FreeRTOS, SafeRTOS, Freescale MQX, Nucleus, Green Hills Software INTEGRITY
- If you would like to test wolfSSH on another environment, let us know and we’ll be happy to support you.
Licensing and Ordering:
wolfSSH is dual licensed under both the GPLv3 and commercial licensing. For more information, please see the following links.