Comparison of SSH clients

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

An SSH client is a software program which uses the secure shell protocol to connect to a remote computer. This article compares a selection of notable clients.

General[edit]

Name Developer Status First release Latest release Current version Based on License Source available
AbsoluteTelnet Celestial Software (Brian Pence) Active 1996 2016-10-12 10.16[1] Proprietary No
Bitvise SSH Client Bitvise Limited Active 2001 2020-05-22 8.43[2] Proprietary No
ConnectBot Kenny Root / Jeffrey Sharkey Active 2007-11 2019-11-12 1.9.6 [3] Trilead SSH-2 for Java Apache-2.0 Yes
Dropbear Matt Johnston Active 2003-04-06 2020-06-26 2020.80 MIT Yes
eSSH Client Ecode Software Inactive 2002-07 Proprietary No
lsh Niels Möller Active 1999-05-23 2013-06-26 2.1 GPL-2.0-or-later Yes
OpenSSH (OpenBSD Secure Shell) The OpenBSD project Active 1999-12-01 2021-03-03 8.5[4] ossh BSD Yes
PuTTY Simon Tatham Active 1999-01-22 2021-07-17 0.76[5] MIT Yes
SecureCRT VanDyke Software Active 1998-06 2020-02-11 8.7.0[6] Proprietary No
Tera Term TeraTerm Project Active 2004 2018-08-31 4.100[7] Tera Term Pro 2.3 (1994–1998) BSD Yes
TN3270 Plus SDI USA, Inc. Active 2006 Proprietary No
TtyEmulator FCS Software Active 2002-05 2020-01-05 4.4.6.1[8] Proprietary No
wolfSSH wolfSSL Active 2016-07-20 2021-02-03 1.4.6 wolfCrypt GPL-3.0-or-later (or proprietary) Yes
ZOC Terminal EmTec, Innovative Software Active 1995-07-01 2021-10-04 8.03.1[9] Proprietary No

Platform[edit]

The operating systems or virtual machines the SSH clients are designed to run on without emulation include several possibilities:

  • Partial indicates that while it works, the client lacks important functionality compared to versions for other OSs but may still be under development.

The list is not exhaustive, but rather reflects the most common platforms today.

Name macOS Windows Cygwin BSD Linux Solaris Java OpenVMS z/OS AIX HP-UX iOS Android Maemo Windows Phone
AbsoluteTelnet No Yes No No No No No No No No No No No No ?
Bitvise SSH Client No Yes No No No No No No No No No No No No No
ConnectBot No No No No No No No No No No No No Yes No No
Dropbear Yes No Yes Yes Yes Yes ? ? ? Yes Yes Yes[Note 1] No Yes ?
eSSH Client Yes Yes ? Yes Yes Yes ? ? ? No No No No No ?
lsh Yes No No Partial[Note 2] Yes Yes ? ? ? No No No No No ?
OpenSSH (OpenBSD Secure Shell) Included Included[Note 3] Included Included Included[Note 4] Yes ? Yes Yes Yes Yes Yes[Note 1] Yes Yes ?
PuTTY Partial Yes ? Yes Yes Yes No ? ? No No No No No Beta
SecureCRT Yes Yes No No Yes No No No No No No Yes No No ?
SmartFTP No Yes No No No No No No No No No No No No ?
Tera Term No Yes No No No No No No No No No No No No ?
TN3270 Plus No Yes No No No No No No No No No No No No ?
TtyEmulator No Yes No No No No No No No No No No No No ?
WinSCP No Yes No No No No No No No No No Yes[Note 1] No No ?
wolfSSH Yes Yes Yes Yes Yes Yes No No ? ? No No No No No
ZOC Yes Yes No No No No No No No No No No No No ?
Name OS X Windows Cygwin BSD Linux Solaris Java OpenVMS z/OS AIX HP-UX iOS Android Maemo Windows Phone
  1. ^ a b c Only for jailbroken devices.
  2. ^ lsh supports only one BSD platform officially, FreeBSD.
  3. ^ Included and enabled by default since windows 10 version 1803. Win32-OpenSSH can be installed as an optional component in the Windows versiones before Windows 10 version 1803 to Windows 10 version 1709. Portable version can be download from Win32-OpenSSH for other versions.
  4. ^ The majority of Linux distributions have OpenSSH as an official package, but a few do not.

Technical[edit]

Name User interface SSH1
(insecure)
SSH2 Additional protocols Port forwarding and Tunneling Session
multiplexing
[Note 1]
Kerberos IPv6 Terminal SFTP/SCP Proxy client[Note 2]
TELNET rlogin Port
forwarding
SOCKS
[Note 3]
VPN
[Note 4]
AbsoluteTelnet GUI (multi-session,
single-window)
Yes Yes Yes No Yes Yes No Yes Yes Yes Yes Yes SOCKS 4, 5; HTTP
Bitvise SSH Client GUI or command line No Yes No No Yes Yes Yes Yes Yes Yes Yes Yes SOCKS 4, 5
Dropbear command line No Yes No No Yes No No No No Yes Yes Yes ?
lsh command line No Yes Yes No Yes Yes No Yes No Yes Yes Yes ?
OpenSSH (OpenBSD Secure Shell) command line No[Note 5] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes ProxyCommand
PuTTY GUI or command line Yes Yes Yes Yes Yes Yes No Yes Yes[Note 6] Yes Yes Yes[Note 7] SOCKS 4, 5; HTTP; Telnet; Local
SecureCRT GUI Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes SOCKS 4, 5; HTTP; Telnet; Generic
SmartFTP GUI (multi-session,
single-window)
No Yes Yes No No No No No Yes Yes Yes Yes SOCKS 4, 5; HTTP
Tera Term GUI Yes Yes Yes No Yes No No No No Yes Yes SCP SOCKS 4, 5; HTTP; Telnet
TN3270 Plus GUI Yes Yes Yes No No Yes No Yes No Yes Yes No SOCKS 4
TtyEmulator GUI or command line Yes Yes Yes Yes Yes Yes No Yes No No Yes No SOCKS 4,4a, 5; HTTP Local
WinSCP [Note 8] GUI or command line Yes Yes No No limited[Note 9] No No No Yes Yes simple Yes SOCKS 4, 5; HTTP; Telnet; Local
wolfSSH command line No Yes No No Yes No No No No Yes simple Yes ?
ZOC TDI or command line Yes Yes Yes Yes Yes Yes No No Yes Yes Yes SCP and SFTP through terminal[Note 10] SOCKS 4; 5; HTTP; Jumpserver
Name User interface SSH1
(insecure)
SSH2 Additional protocols Tunneling Session
multiplexing
[Note 1]
Kerberos IPv6 Terminal SFTP/SCP Proxy client[Note 2]
TELNET rlogin Port
forwarding
SOCKS
[Note 3]
VPN
[Note 4]
  1. ^ a b Accelerating OpenSSH connections with ControlMaster.
  2. ^ a b Can the SSH client connect itself through a proxy? This is distinct from offering a SOCKS proxy or port forwarding.
  3. ^ a b The ability for the SSH client to perform dynamic port forwarding by acting as a local SOCKS proxy.
  4. ^ a b The ability for the SSH client to establish a VPN, e.g. using TUN/TAP.
  5. ^ OpenSSH deleted SSH protocol version 1 support in version 7.6 (2017-10-03)
  6. ^ The version 0.63 supports GSSAPI. Successfully tested on Win 8 using Active Directory
  7. ^ The PuTTY developers provide SCP and SFTP functionality as binaries for separate download.
  8. ^ Winscp bundles a number of software components including putty. [1].
  9. ^ WinSCP connection tunneling.
  10. ^ SCP and SFTP according to ZOC features page.

Features[edit]

Name Keyboard mapping Session tabs ZMODEM transfers Find text in buffer Mouse input support[Note 1] Unicode support URL hyperlinking Public key authentication Smart card support Hardware encryption FIPS 140-2 validation Scripting Shared Database Auto-reconnect CA Certificates
AbsoluteTelnet full Yes Yes Yes Yes Yes Yes Yes Yes ? Yes Yes ? ? ?
Bitvise SSH Client ? No No No Yes Yes No Yes No ? Partial Yes No Yes No
OpenSSH (OpenBSD Secure Shell) ? No No ? Yes[Note 2] Yes not native[Note 3] Yes Yes Yes Partial[Note 4] No No ? Yes[Note 5]
PuTTY No No[Note 6] No No Yes Yes No[Note 7] Yes No[Note 8] Yes No No No No No[Note 9]
SecureCRT Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes No ? ?
SmartFTP Partial Yes No Yes Yes Yes Yes Yes Yes AES-NI Yes No ? ? ?
Tera Term Yes Yes Yes No Yes Yes Yes Yes No No No Yes No ? ?
TN3270 Plus Yes Yes No No No No Yes Yes No No No Yes ? ? ?
TtyEmulator No No No Yes Yes No Yes Yes No No No Yes ? ? ?
wolfSSH No No No No No Yes No Yes No Yes Yes No No ? Yes
ZOC full Yes Yes Alt+F Yes UTF-8 Yes Yes Yes No No Yes ? ? ?
  1. ^ The ability to transmit mouse input to text mode applications such as Midnight Commander
  2. ^ Only when the terminal itself supports mouse input. Most graphical ones do, e.g. xterm.
  3. ^ No native URL highlighting; however most graphical consoles support URL highlighting.
  4. ^ Validated when running OpenSSH 2.1 on Red Hat Enterprise Linux 6.2 in FIPS mode or when running OpenSSH 1.1 on Red Hat Enterprise Linux 5 in FIPS mode
  5. ^ OpenSSH supports the minimal certificate format since v5.4. "OpenSSH Release Notes: 5.4". OpenBSD Project. 2010-03-08. Retrieved 2021-08-30.
  6. ^ PuTTY does not support tabs directly, but many wrappers are available that do (e.g. PuTTY Connection Manager, SuperPuTTY, MTPuTTY, PuTTYTabManager, mRemoteNG, WinSSHTerm, PuTTY Manager, PuttyTabs and TWSC (Terminal Window ShortCuts)).
  7. ^ PuTTY does not support smart cards, but is supported in puttywincrypt, PuTTY-CAC, and in Smartcard Authentication – Secure & Easy putty version.
  8. ^ Putty v71.0 does not support OpenSSH certificates. See Ben Harris' 2016-04-21 wish. [2] and [3]

Authentication key algorithms[edit]

This table lists standard authentication key algorithms implemented by SSH clients. Some SSH implementations include both server and client implementations and support custom non-standard authentication algorithms not listed in this table.

Name ssh-dss[AuthNote 1] ssh-rsa RSA with SHA-2 ECDSA with SHA-2 Security keys
rsa-sha2-256 rsa-sha2-512 ecdsa-sha2-nistp256 ecdsa-sha2-nistp384 ecdsa-sha2-nistp521 ssh-ed25519 sk-ecdsa-sha2-nistp256 sk-ecdsa-sha2-nistp256-cert-v01 sk-ssh-ed25519 sk-ssh-ed25519-cert-v01
AbsoluteTelnet ? ? ? ? ? ? ? ?
Bitvise SSH Client ? ? ? ? ? ? ? ?
Dropbear Yes Yes Yes No Yes Yes Yes Yes
lsh ? ? ? ? ? ? ? ?
OpenSSH (OpenBSD Secure Shell) Yes[AuthNote 2] Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
PuTTY ? Yes ? ? Yes ? ? ?
SecureCRT ? ? ? ? ? ? ? ?
SmartFTP ? ? ? ? ? ? ? ?
Tera Term ? ? ? ? ? ? ? ?
TN3270 Plus ? ? ? ? ? ? ? ?
TtyEmulator ? ? ? ? ? ? ? ?
WinSCP No Yes Yes Yes Yes Yes Yes ?
wolfSSH No Yes ? ? Yes Yes Yes ?
ZOC ? ? ? ? ? ? ? ?
Name ssh-dss ssh-rsa rsa-sha2-256 rsa-sha2-512 ecdsa-sha2-nistp256 ecdsa-sha2-nistp384 ecdsa-sha2-nistp521 ssh-ed25519 sk-ecdsa-sha2-nistp256 sk-ecdsa-sha2-nistp256-cert-v01 sk-ssh-ed25519 sk-ssh-ed25519-cert-v01
RSA with SHA-2 ECDSA with SHA-2 Security keys
  1. ^ ssh-dss is based on Digital Signature Algorithm which is sensitive to entropy, secrecy, and uniqueness of its random signature value.
  2. ^ By default, disabled at run-time since OpenSSH 7.0 released in 2015.

See also[edit]

References[edit]