WolfSSH

wolfSSH is a small, portable, embedded SSH library targeted for use by embedded systems developers. It is an open-source implementation of SSH written in the C language. It includes SSH client libraries and an SSH server implementation. It allows for password and public key authentication.

Platforms
wolfSSH is currently available for Win32/64, Linux, macOS, Solaris, Threadx, VxWorks, FreeBSD, NetBSD, OpenBSD, embedded Linux, WinCE, Haiku, OpenWrt, iPhone (iOS), Android, Wii and GameCube through DevKitPro support, QNX, MontaVista, TRON variants (TRON/ITRON/μITRON), NonStop OS, OpenCL, Micrium's MicroC/OS-II, FreeRTOS, SafeRTOS, Freescale MQX, Nucleus, TinyOS, TI-RTOS, HP-UX, uTasker, embOS, PIC32, PikeOS, and Green Hills INTEGRITY.

Protocols
The wolfSSH SSH library implements the SSHv2 protocol for both client and server. It also includes support for the Secure copy and SSH File Transfer protocols.

Algorithms
wolfSSH uses the cryptographic services provided by wolfCrypt. wolfCrypt Provides RSA, ECC, Diffie–Hellman, AES (CBC, GCM), Random Number Generation, Large Integer support, and base 16/64 encoding/decoding.

Key exchange

 * diffie-hellman-group1-sha1
 * diffie-hellman-group14-sha1
 * diffie-hellman-group-exchange-sha256
 * ecdh-sha2-nistp256
 * ecdh-sha2-nistp384
 * ecdh-sha2-nistp521

Public key

 * ssh-rsa
 * ecdsa-sha2-nistp256
 * ecdsa-sha2-nistp384
 * ecdsa-sha2-nistp521

Integrity

 * hmac-sha1
 * hmac-sha1-96
 * hmac-sha2-256

Encryption

 * aes128-cbc
 * aes128-gcm (OpenSSH compatible)

Licensing
wolfSSH is open source and dual licensed under both the GNU GPL-3.0-or-later and commercial licensing.