
Portable OpenSSH
OpenSSH ist eine vollständige Implementierung des SSH-Protokolls (Version 2) für sichere Remote-Anmeldung, Befehlsausführung und Dateiübertragung. Es enthält einen Client ssh und einen Server sshd, die Dateiübertragungsprogramme scp und sftp sowie Werkzeuge zur Schlüsselerzeugung (ssh-keygen), zur Laufzeitspeicherung von Schlüsseln (ssh-agent) und eine Reihe unterstützender Programme.
Dies ist ein Port von OpenBSDs OpenSSH auf die meisten Unix-ähnlichen Betriebssysteme, einschließlich Linux, OS X und Cygwin. Portable OpenSSH bildet OpenBSD-APIs, die anderswo nicht verfügbar sind, nach, fügt sshd-Sandboxing für weitere Betriebssysteme hinzu und enthält Unterstützung für betriebssystemnative Authentifizierung und Protokollierung (z. B. mittels PAM).
Die offizielle Dokumentation für OpenSSH sind die Handbuchseiten (Manpages) für jedes Werkzeug:
Stabile Release-Tarballs sind über eine Reihe von Download-Mirrors verfügbar. Wir empfehlen den meisten Benutzern die Verwendung einer stabilen Version. Bitte lesen Sie die Versionshinweise für Details zu aktuellen Änderungen und möglichen Inkompatibilitäten.
Portable OpenSSH wird mit autoconf und make erstellt. Es werden ein funktionierender C-Compiler, eine Standardbibliothek und Header benötigt.
libcrypto von einem der Projekte LibreSSL, OpenSSL, AWS-LC oder BoringSSL kann ebenfalls verwendet werden. OpenSSH kann auch ohne eines dieser Projekte erstellt werden, die resultierenden Binärdateien enthalten dann jedoch nur eine Teilmenge der normalerweise verfügbaren kryptografischen Algorithmen.
zlib ist optional; ohne es wird die Transportkomprimierung nicht unterstützt.
Die Unterstützung für FIDO-Sicherheitstokens benötigt libfido2 und dessen Abhängigkeiten und wird automatisch aktiviert, wenn diese gefunden werden.
Darüber hinaus können bestimmte Plattformen und Build-Optionen zusätzliche Abhängigkeiten erfordern; Einzelheiten zu Ihrer Plattform finden Sie in README.platform.
Release-Tarballs und Release-Branches in git enthalten eine vorgefertigte Kopie des configure-Skripts und können wie folgt erstellt werden:
tar zxvf openssh-X.YpZ.tar.gz
cd openssh
./configure # [options]
make && make tests
Informationen zu den Konfigurationsoptionen finden Sie im Abschnitt Build-Zeit-Anpassung weiter unten. Wenn Sie OpenSSH auf Ihrem System installieren möchten, sollten Sie in der Regel Zielpfade angeben.
Wenn Sie aus dem git-master-Branch erstellen, benötigen Sie installiertes autoconf, um das configure-Skript zu erstellen. Die folgenden Befehle klonen Portable OpenSSH aus git und erstellen es:
git clone https://github.com/openssh/openssh-portable # or https://anongit.mindrot.org/openssh.git
cd openssh-portable
autoreconf
./configure
make && make tests
Es stehen viele Optionen zur Anpassung zur Build-Zeit zur Verfügung. Alle Autoconf-Zielpfad-Flags (z. B. --prefix) werden unterstützt (und sind in der Regel erforderlich, wenn Sie OpenSSH installieren möchten).
Eine vollständige Liste der verfügbaren Flags erhalten Sie mit ./configure --help; einige der am häufigsten verwendeten Optionen werden unten beschrieben. Einige dieser Flags erfordern, dass zusätzliche Bibliotheken und/oder Header installiert sind.
Die Entwicklung von Portable OpenSSH wird auf der Mailingliste openssh-unix-dev diskutiert (Archivspiegel). Fehler und Feature-Anfragen werden in unserem Bugzilla verwaltet.
Nicht-sicherheitsrelevante Fehler können über Bugzilla oder über die oben genannte Mailingliste an die Entwickler gemeldet werden. Sicherheitsrelevante Fehler sollten an [email protected] gemeldet werden.
| Flag | Bedeutung |
|---|
--with-pam | Aktiviert PAM-Unterstützung. OpenPAM, Linux PAM und Solaris-PAM werden unterstützt. |
--with-libedit | Aktiviert libedit-Unterstützung für sftp. |
--with-kerberos5 | Aktiviert Kerberos/GSSAPI-Unterstützung. Sowohl die Heimdal- als auch die MIT-Kerberos-Implementierung werden unterstützt. |
--with-selinux | Aktiviert SELinux-Unterstützung. |