wolfSSH

{{lowercasetitle}}

{{Infobox software

| name = wolfSSH

| logo =

| screenshot =

| caption =

| developer = John Safranek

| released = {{Start date|2016|07|20}}{{cite web |title=wolfSSH ChangeLog |url=https://www.wolfssl.com/docs/wolfssh-changelog}}

| latest release version = {{wikidata|property|preferred|references|edit|Q48743683|P348|P548=Q2804309}}

| latest release date = {{wikidata|qualifier|preferred|single|Q48743683|P348|P548=Q2804309|P577}}

| latest preview version = {{wikidata|property|preferred|references|edit|Q48743683|P348|P548=Q51930650}}

| latest preview date = {{wikidata|qualifier|preferred|single|Q48743683|P348|P548=Q51930650|P577}}

| operating system = Multi-platform

| programming language = C language

| genre = Security library

| license = GPL-3.0-or-later or proprietary license

| website = {{URL|https://www.wolfssl.com/products/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

{{main|Secure Shell}}

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.[https://www.wolfssl.com/wolfSSL/Docs-wolfssl-manual-10-wolfcrypt-usage-reference.html wolfCrypt Usage Reference] 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{{cite web|url=https://www.wolfssl.com/license/|title=Licensing Information|archive-url=https://web.archive.org/web/20210818170851/https://www.wolfssl.com/license/|archive-date=2021-08-18|url-status=live}} and commercial licensing.

See also

References

{{Reflist|30em}}