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.
Developer(s) | John Safranek |
---|---|
Initial release | July 20, 2016[1] |
Written in | C language |
Operating system | Multi-platform |
Type | Security library |
License | GNU General Public License or Commercial Distribution License |
Website | www |
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 OS, 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. It also includes support for the Secure copy and SSH File Transfer protocols.
Algorithms
wolfSSH uses the cryptographic services provided by wolfCrypt.[2] 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.[3]