Skip to content

openssh/openssh-portable

Folders and files

NameName
Last commit message
Last commit date

Latest commit

6c49e5f · Mar 23, 2025
Mar 19, 2025
Feb 18, 2025
Mar 24, 2024
Mar 23, 2025
Mar 11, 2025
Mar 12, 2025
Dec 6, 2024
Mar 30, 2024
Dec 4, 2024
Nov 26, 2024
Jul 28, 2019
Dec 4, 2024
Sep 18, 2024
Mar 23, 2025
Oct 23, 2018
Jan 8, 2024
Nov 27, 2024
Dec 7, 2024
Feb 21, 2020
Mar 30, 2024
Jul 17, 2023
Jan 8, 2024
Aug 31, 2020
Sep 9, 2020
Feb 18, 2025
Feb 11, 2020
Dec 4, 2024
Jan 8, 2024
Sep 19, 2019
Mar 31, 2006
Nov 3, 2021
Jul 31, 2018
Oct 18, 2024
Oct 18, 2024
Apr 3, 2021
Dec 21, 2021
Dec 27, 2018
Apr 3, 2021
Jan 20, 2019
Jan 20, 2019
Jan 20, 2019
Oct 2, 2019
Apr 3, 2021
Jul 18, 2023
Jul 23, 2021
Jun 17, 2024
May 17, 2024
Oct 18, 2020
May 17, 2024
Feb 27, 2023
Jul 12, 2018
Apr 5, 2005
Sep 15, 2024
May 22, 2024
Oct 18, 2020
May 17, 2024
May 17, 2024
May 17, 2024
May 31, 2024
May 17, 2024
May 17, 2024
Dec 12, 2024
Mar 5, 2023
Feb 5, 2025
Dec 18, 2023
Dec 18, 2023
Sep 24, 2024
Jan 25, 2020
Oct 20, 2017
Oct 20, 2017
Dec 16, 2024
Mar 31, 2023
Mar 7, 2016
Jul 17, 2023
Apr 3, 2021
Dec 5, 2024
Oct 13, 2024
Mar 24, 2023
Feb 25, 2015
May 15, 2014
Jul 17, 2023
Jul 17, 2023
Apr 3, 2020
Mar 18, 2025
Oct 11, 2023
Aug 5, 2006
Dec 4, 2024
May 22, 2024
Mar 6, 2023
Mar 6, 2023
Dec 6, 2022
Dec 6, 2022
Mar 23, 2025
Sep 2, 2024
Feb 26, 2025
Dec 4, 2024
Mar 13, 2021
Dec 23, 2021
Oct 29, 2020
May 10, 2017
Mar 5, 2023
Jan 19, 2019
Mar 10, 2023
Feb 10, 2023
Jan 15, 2023
May 17, 2024
Nov 10, 2022
Jul 10, 2018
Oct 19, 2020
Jun 11, 2013
Dec 5, 2002
Nov 6, 2024
Jul 4, 2008
Feb 1, 2024
Jul 10, 2018
Sep 25, 2024
Jul 3, 2021
Feb 28, 2020
Jul 2, 2014
Feb 21, 2023
Jan 26, 2021
Dec 21, 2021
Dec 6, 2022
Sep 9, 2024
Aug 26, 2024
Sep 2, 2024
Sep 2, 2024
Jul 3, 2021
Oct 2, 2019
Sep 9, 2024
Jan 23, 2019
Dec 19, 2021
May 17, 2024
Oct 27, 2024
Sep 15, 2024
Feb 18, 2025
Jul 17, 2023
Mar 2, 2025
Dec 7, 2024
Dec 7, 2024
Dec 2, 2024
Dec 2, 2024
Apr 3, 2021
Oct 2, 2019
Jul 8, 2016
Sep 6, 2024
Jul 15, 2020
Nov 28, 2024
Oct 24, 2024
Sep 25, 2024
Feb 15, 2018
Mar 2, 2025
Nov 29, 2024
Apr 16, 2022
Mar 2, 2023
Dec 4, 2024
Oct 14, 2024
Oct 18, 2020
Sep 17, 2007
Oct 22, 2024
Oct 14, 2024
May 17, 2024
Jan 15, 2015
Oct 13, 2024
Dec 2, 2024
Jul 25, 2024
Nov 21, 2003
May 19, 2008
Jul 25, 2007
Aug 20, 2021
Feb 18, 2025
Aug 15, 2024
Oct 14, 2024
Dec 4, 2013
Mar 23, 2025
Aug 25, 2017
Jan 8, 2016
Nov 8, 2022
May 17, 2024
Mar 23, 2025
Jul 17, 2023
May 15, 2014
Sep 24, 2024
Jan 24, 2019
Mar 18, 2025
Feb 15, 2025
Mar 30, 2024
Mar 23, 2015
Sep 29, 2021
Oct 14, 2024
Oct 14, 2024
Oct 14, 2024
Oct 14, 2024
Oct 14, 2024
Oct 14, 2024
Dec 7, 2024
Mar 19, 2025
Feb 25, 2025
Oct 14, 2024
Nov 26, 2024
Sep 12, 2017
Dec 6, 2024
Jan 6, 2023
Mar 11, 2025
Sep 8, 2023
Mar 31, 2023
Sep 19, 2022
Sep 10, 2023
Sep 3, 2021
Jul 27, 2022
Aug 2, 2021
Apr 30, 2024
Sep 8, 2023
Sep 19, 2022
Dec 7, 2024
Jun 27, 2024
Jun 13, 2008
Jul 20, 2022
Dec 3, 2024
Nov 3, 2013
Sep 16, 2024
Sep 16, 2024
Mar 2, 2025
Sep 15, 2024
Jun 17, 2024
Sep 6, 2024
Feb 10, 2025
Feb 18, 2025
Jan 11, 2024
Dec 2, 2024
Aug 15, 2024
Oct 28, 2022
Oct 28, 2022
May 22, 2024
Nov 27, 2024
Dec 4, 2024
Jun 17, 2024
Dec 7, 2024
Jun 17, 2024
Feb 15, 2025
Aug 15, 2024
Apr 29, 2022
Aug 15, 2024
Sep 24, 2024
Dec 18, 2023
Aug 15, 2024
Oct 14, 2024
Feb 18, 2025
Apr 29, 2022
Dec 4, 2022
Aug 15, 2024
Oct 28, 2021
Jul 18, 2023
Dec 4, 2024
Mar 3, 2025
Sep 27, 2024
Oct 10, 2023
Oct 18, 2024
Apr 10, 2018
Aug 2, 2023
Mar 3, 2025
May 25, 2022
Aug 15, 2024
Jan 25, 2020
Jan 24, 2022
Aug 15, 2024
Aug 15, 2024
Dec 7, 2024
Mar 2, 2025
Feb 18, 2025
Feb 5, 2025
Dec 4, 2024
Mar 23, 2025
Sep 15, 2024
Mar 12, 2025
Dec 3, 2024
Feb 15, 2025
Jan 25, 2020
Jan 25, 2020
Oct 28, 2022
Oct 28, 2022
Dec 4, 2024
Sep 4, 2024
Apr 23, 2022
Aug 1, 2013
Dec 22, 2020
Nov 29, 2016
Feb 18, 2025
Nov 27, 2021
Jan 9, 2010
Feb 15, 2005
Jan 27, 2021
May 1, 2017
Apr 3, 2021
Jul 19, 2018
Mar 7, 2023
Jan 1, 2022
Feb 9, 2018
May 1, 2020
Apr 3, 2021
Feb 18, 2025
Mar 18, 2022
Apr 3, 2021
Oct 8, 2019
Mar 4, 2018
Oct 8, 2019
Mar 2, 2018
Jan 8, 2024
Mar 2, 2018
Oct 8, 2019
Mar 2, 2018
Oct 8, 2019
Mar 2, 2018

Repository files navigation

Portable OpenSSH

C/C++ CI Fuzzing Status Coverity Status

OpenSSH is a complete implementation of the SSH protocol (version 2) for secure remote login, command execution and file transfer. It includes a client ssh and server sshd, file transfer utilities scp and sftp as well as tools for key generation (ssh-keygen), run-time key storage (ssh-agent) and a number of supporting programs.

This is a port of OpenBSD's OpenSSH to most Unix-like operating systems, including Linux, OS X and Cygwin. Portable OpenSSH polyfills OpenBSD APIs that are not available elsewhere, adds sshd sandboxing for more operating systems and includes support for OS-native authentication and auditing (e.g. using PAM).

Documentation

The official documentation for OpenSSH are the man pages for each tool:

Stable Releases

Stable release tarballs are available from a number of download mirrors. We recommend the use of a stable release for most users. Please read the release notes for details of recent changes and potential incompatibilities.

Building Portable OpenSSH

Dependencies

Portable OpenSSH is built using autoconf and make. It requires a working C compiler, standard library and headers.

libcrypto from either LibreSSL or OpenSSL may also be used. OpenSSH may be built without either of these, but the resulting binaries will have only a subset of the cryptographic algorithms normally available.

zlib is optional; without it transport compression is not supported.

FIDO security token support needs libfido2 and its dependencies and will be enabled automatically if they are found.

In addition, certain platforms and build-time options may require additional dependencies; see README.platform for details about your platform.

Building a release

Release tarballs and release branches in git include a pre-built copy of the configure script and may be built using:

tar zxvf openssh-X.YpZ.tar.gz
cd openssh
./configure # [options]
make && make tests

See the Build-time Customisation section below for configure options. If you plan on installing OpenSSH to your system, then you will usually want to specify destination paths.

Building from git

If building from the git master branch, you'll need autoconf installed to build the configure script. The following commands will check out and build portable OpenSSH from git:

git clone https://github.com/openssh/openssh-portable # or https://anongit.mindrot.org/openssh.git
cd openssh-portable
autoreconf
./configure
make && make tests

Build-time Customisation

There are many build-time customisation options available. All Autoconf destination path flags (e.g. --prefix) are supported (and are usually required if you want to install OpenSSH).

For a full list of available flags, run ./configure --help but a few of the more frequently-used ones are described below. Some of these flags will require additional libraries and/or headers be installed.

Flag Meaning
--with-pam Enable PAM support. OpenPAM, Linux PAM and Solaris PAM are supported.
--with-libedit Enable libedit support for sftp.
--with-kerberos5 Enable Kerberos/GSSAPI support. Both Heimdal and MIT Kerberos implementations are supported.
--with-selinux Enable SELinux support.

Development

Portable OpenSSH development is discussed on the openssh-unix-dev mailing list (archive mirror). Bugs and feature requests are tracked on our Bugzilla.

Reporting bugs

Non-security bugs may be reported to the developers via Bugzilla or via the mailing list above. Security bugs should be reported to [email protected].