User:Johnstown/sandbox/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, Android, Nintendo Wii and Gamecube through DevKitPro support, QNX, MontaVista, Tron variants, NonStop, OpenCL, Micrium's MicroC/OS-II, FreeRTOS, SafeRTOS, Freescale MQX, Nucleus, TinyOS, TI-RTOS, HP-UX, uTasker, and embOS.

Protocols
The wolfSSH lightweight SSH library implements the SSHv2 protocol.

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, licensed under the GNU General Public License GPLv3.