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
- 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), BLAKE2b
- Block, Stream, and Authenticated Ciphers: AES (CBC, CTR, GCM, CCM), Camellia
- Public Key Options: RSA, DH, EDH, NTRU
- ECC Support (ECDH and ECDSA with curves: NISTP256, NISTP384, NISTP521
- Curve25519 and Ed25519
- Client authentication support (RSA key, password)
- SCP support
- SFTP support
- Port forwarding support (client-side)
- Simple API
- PEM and DER certificate support
- 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
Supported Operating Environments
- Win32/64, Linux, Mac OS X, Solaris, ThreadX, VxWorks, FreeBSD, NetBSD, OpenBSD, embedded Linux, Yocto, OpenEmbedded, WinCE, Haiku, OpenWRT, iPhone (iOS), Android, Nintendo Wii and Gamecube through DevKitPro, QNX, MontaVista, NonStop, TRON/ITRON/µITRON, Micrium's µC/OS, FreeRTOS, SafeRTOS, Freescale MQX, Nucleus, TinyOS, HP/UX, ARC MQX, TI-RTOS, uTasker, embOS, PIC32, PikeOS
- If you would like to test wolfSSH on another environment, let us know and we’ll be happy to support you.