OpenSSH
![]() "Keeping your communiqués secret" | |
Developer(s) | The OpenBSD Project |
---|---|
Initial release | 1 December 1999 |
Stable release | 9.9[1] ![]() |
Remote access | |
License | BSD, ISC, public domain |
Website | openssh.com |
OpenSSH (also known as OpenBSD Secure Shell[a]) is a suite of secure networking utilities based on the Secure Shell (SSH) protocol, which provides a secure channel over an unsecured network in a client–server architecture.[4][5]
OpenSSH started as a
OpenSSH is not a single computer program, but rather a suite of programs that serve as alternatives to unencrypted protocols like
History
OpenBSD Secure Shell was created by
OpenSSH first appeared in OpenBSD 2.6. The first portable release was made in October 1999.
On 19 October 2015, Microsoft announced that OpenSSH will be natively supported on Microsoft Windows and accessible through PowerShell, releasing an early implementation and making the code publicly available.[20] OpenSSH-based client and server programs have been included in Windows 10 since version 1803. The SSH client and key agent are enabled and available by default, and the SSH server is an optional Feature-on-Demand.[21]
In October 2019 protection for private keys at rest in RAM against speculation and memory
Development

OpenSSH is developed as part of the OpenBSD operating system. Rather than including changes for other operating systems directly into OpenSSH, a separate portability infrastructure is maintained by the OpenSSH Portability Team, and "portable releases" are made periodically. This infrastructure is substantial, partly because OpenSSH is required to perform authentication, a capability that has many varying implementations. This model is also used for other OpenBSD projects such as OpenNTPD.
The OpenSSH suite includes the following
- rcp.
- sftp, a replacement for ftp to copy files between computers.
- ssh, a replacement for access to a remote machine.
- ssh-add and ssh-agent, utilities to ease authentication by holding keys ready and avoid the need to enter passphrases every time they are used.
- .
- ssh-keyscan, which scans a list of hosts and collects their public keys.
- sshd, the SSH server daemon.
The OpenSSH server can authenticate users using the standard methods supported by the
On OpenBSD, OpenSSH uses a dedicated sshd user by default to drop privileges and perform privilege separation in accordance with the principle of least privilege, applied throughout the operating system including the Xenocara X server.
Features
OpenSSH includes the ability to set up a secured channel through which data sent to local, client-side
Tunneling a TCP-encapsulating payload (such as
In addition, some third-party software includes support for tunnelling over SSH. These include
An ad hoc SOCKS proxy server may be created using OpenSSH. This allows more flexible proxying than is possible with ordinary port forwarding.
Beginning with version 4.3, OpenSSH implements an
Supported public key types
OpenSSH supports the following public key types:[30][31]
- ssh-dss (disabled at run-time since OpenSSH 7.0, released in 2015)[32]
- ssh-rsa (disabled at run-time since OpenSSH 8.8, released in 2021)[33]
- ecdsa-sha2-nistp384 (since OpenSSH 5.7)
- ecdsa-sha2-nistp521 (since OpenSSH 5.7)
- ssh-ed25519 (since OpenSSH 6.5, released in 2014)[35]
- rsa-sha2-512 (since OpenSSH 7.2)
- ecdsa-sk (since OpenSSH 8.2, released in 2020)[37]
- ed25519-sk (since OpenSSH 8.2)
- x25519 (since OpenSSH 9.0, released in 2022)[38]
Vulnerabilities
This section may need to be rewritten to comply with Wikipedia's quality standards. (May 2017) |
Before version 5.2 of OpenSSH, it was possible for an attacker to recover up to 14 bits of plaintext with a success probability of 2−14.[39] The vulnerability was related to the CBC encryption mode. The AES CTR mode and arcfour ciphers are not vulnerable to this attack.
A local privilege escalation vulnerability existed in OpenSSH 6.8 to 6.9 (
Malicious or compromised OpenSSH servers could read sensitive information on the client such as private login keys for other systems, using a vulnerability that relies on the undocumented connection-resuming feature of the OpenSSH client, which is called roaming, enabled by default on the client, but not supported on the OpenSSH server. This applies to versions 5.4 (released on 8 March 2010
On March 29, 2024, a serious supply chain attack on XZ Utils has been reported, targeting indirectly the OpenSSH server (sshd) running on Linux. The OpenSSH code is not directly concerned, the backdoor is caused by the dependencies on liblzma via libsystemd applied by a tierce patch, applied by various Linux distributions.[citation needed]
On July 1, 2024, the RegreSSHion security vulnerability was disclosed, which could enable a remote attacker to cause OpenSSH to execute arbitrary code and gain full root access. It was inadvertently introduced in prior OpenSSH version 8.5p1 in October 2020, and was patched following version 9.8/9.8p1. [45][46]
Trademark
In February 2001, Tatu Ylönen, chairman and CTO of SSH Communications Security informed the OpenSSH development mailing list that the company intended to assert its ownership of the "SSH" and "Secure Shell" trademarks,[47] and sought to change references to the protocol to "SecSH" or "secsh", in order to maintain control of the "SSH" name. He proposed that OpenSSH change its name in order to avoid a lawsuit, a suggestion that developers resisted. OpenSSH developer Damien Miller replied urging Ylönen to reconsider, arguing that "SSH" had long since been a generic trademark.[48]
At the time, "SSH", "Secure Shell" and "ssh" had appeared in documents proposing the protocol as an open standard. Without marking these within the proposal as registered trademarks, Ylönen ran the risk of relinquishing all exclusive rights to the name as a means of describing the protocol. Improper use of a trademark, or allowing others to use a trademark incorrectly, results in the trademark becoming a generic term, like
Both developers of OpenSSH and Ylönen himself were members of the IETF working group developing the new standard; after several meetings this group denied Ylönen's request to rename the protocol, citing concerns that it would set a bad precedent for other trademark claims against the IETF. The participants argued that both "Secure Shell" and "SSH" were generic terms and could not be trademarks.[6]
See also
Notes
- startup scripts.
References
- ^ "release-9.9". Retrieved 20 September 2024.
- ^ "OpenSSH Portable Release". OpenBSD. Retrieved 15 October 2015.
- ^ "Specifications implemented by OpenSSH". The OpenBSD Project. Retrieved 14 October 2015.
- ^ Venkatachalam, Girish (April 2007). "The OpenSSH Protocol under the Hood". Linux Journal (156): 74–77 – via the Discovery Database at LSU.
- ^ Network Working Group of the IETF, January 2006, RFC 4252, The Secure Shell (SSH) Authentication Protocol.
- ^ a b Duffy Marsan, Carolyn (22 March 2001). "Secure Shell inventor denied trademark request". ITworld.com. Retrieved 14 December 2021.
- ^ "dragonfly.git/blob - crypto/openssh/README". gitweb.dragonflybsd.org. Retrieved 19 May 2016.
This is the port of OpenBSD's excellent OpenSSH to Linux and other Unices.
- ^ "src/crypto/external/bsd/openssh/dist/README - view - 1.4". NetBSD CVS Repositories. Retrieved 19 May 2016.
- ^ "openssh". OpenSUSE. Retrieved 17 May 2016.
- ^ "Debian -- Details of package openssh-client in jessie". Debian. Retrieved 17 May 2016.
- ^ "Arch Linux - openssh 7.2p2-1 (x86_64)". Arch Linux. Retrieved 17 May 2016.
- ^ "Project History and Credits". OpenBSD. Retrieved 8 April 2008.
- ^ OSSH sources
- ^ ssh-1.2.13 now available: copying policy changed (permission now required to sell ssh commercially, use is still permitted for any purpose)
- ^ "OpenSSH: Project History and Credits". openssh.com. 22 December 2004. Retrieved 27 February 2014.
- ^ "Portable OpenSSH – Freecode". Freshmeat.net. Retrieved 11 February 2014.
- ^ Murenin, Constantine A. (11 December 2013). Unknown Lamer (ed.). "OpenSSH Has a New Cipher — Chacha20-poly1305 — from D.J. Bernstein". Slashdot. Retrieved 26 December 2014.
- ^ Murenin, Constantine A. (30 April 2014). Soulskill (ed.). "OpenSSH No Longer Has To Depend On OpenSSL". Slashdot. Retrieved 26 December 2014.
- ^ Murenin, Constantine A. (1 February 2015). Soulskill (ed.). "OpenSSH Will Feature Key Discovery and Rotation For Easier Switching To Ed25519". Slashdot. Retrieved 1 February 2015.
- ^ "OpenSSH for Windows Update". 19 October 2015. Retrieved 23 October 2015.
- ^ Durr, Yosef (7 March 2018). "What's new for the Command Line in Windows 10 version 1803". Windows Command Line Tools For Developers.
- ^ "OpenSSH 8.1 Release Notes". OpenSSH. 9 October 2019. Retrieved 18 November 2024.
- ^ "OpenBSD manual pages: SSH". openbsd.org. 3 July 2014. Retrieved 14 July 2014.
- ^ "OpenSSH Release Notes".
- ^ "Features". OpenSSH. Retrieved 26 June 2016.
- ^ Titz, Olaf (23 April 2001). "Why TCP Over TCP Is A Bad Idea". Retrieved 17 October 2015.
- S2CID 8945952.
- ^ Kaminsky, Dan (13 June 2003). "Re: Extensions for long fat networks?". [email protected] (Mailing list).
the TCP forwarding code is pretty speedy as well. Just to pre-answer a question, ssh decapsulates and re-encapsulates TCP, so you don't have classic TCP-over-TCP issues.
- ^ "OpenSSH 4.3 Release Notes". openssh.com. 1 February 2006. Retrieved 14 July 2014.
- ^ "SSHD(8) - Linux manual page".
- ^ "Sshd_config(5) - OpenBSD manual pages".
- ^ "OpenSSH 7.0 release notes". OpenSSH. 11 August 2015. Retrieved 13 November 2022.
- ^ "OpenSSH 8.8 release notes". OpenSSH. 26 September 2021. Retrieved 13 November 2022.
- ^ "OpenSSH 5.7 release notes". OpenSSH. 24 January 2011. Retrieved 13 November 2022.
- ^ "OpenSSH 6.5 release notes". OpenSSH. 29 January 2014. Retrieved 13 November 2022.
- ^ "OpenSSH 7.2 release notes". OpenSSH. 29 February 2016. Retrieved 13 November 2022.
- ^ "OpenSSH 8.2 release notes". OpenSSH. 14 February 2020. Retrieved 13 November 2022.
- ^ "Changes since OpenSSH 8.9 (OpenSSH 9.0 release notes)". OpenSSH developers. 8 April 2022.
- ^ OpenSSH Security Advisory CBC Attack
- CVE-2015-6565
- ^ OpenSSH PTY vulnerability
- ^ OpenSSH 5.4 released
- ^ Thomson, Iain (14 January 2016). "Evil OpenSSH servers can steal your private login keys to other systems – patch now". The Register.
- ^ OpenSSH 7.1p2 has just been released.
- ^ "The regreSSHion Bug". Qualys. Retrieved 16 July 2024.
- ^ "OpenSSH Release Notes". OpenSSH. Retrieved 16 July 2024.
- ^ Ylonen, Tatu (14 February 2001). "SSH trademarks and the OpenSSH product name". openssh-unix-dev (Mailing list). MARC. Retrieved 11 February 2014.
- ^ Miller, Damien (14 February 2001). "Re: SSH trademarks and the OpenSSH product name". openssh-unix-dev (Mailing list). MARC. Retrieved 11 February 2014.
- ^ Lemos, Robert (2 January 2002). "Ssh! Don't use that trademark". CNET. Retrieved 19 May 2016.
- NewsForge. Archived from the originalon 1 March 2002. Retrieved 20 May 2016.
External links
- Official website
- OpenBSD General Commands Manual –
- OpenBSD System Manager's Manual –
- OpenSSH at the Super User's BSD Cross Reference (BXR.SU) OpenGrok
- SSH OpenSSH - Windows CMD - SS64.com