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.
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.[3] 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[4] and commercial licensing.
See also
References
External links