
Portable OpenSSH
OpenSSH est une implémentation complète du protocole SSH (version 2) pour la connexion à distance sécurisée, l'exécution de commandes et le transfert de fichiers. Il inclut un client ssh et un serveur sshd, des utilitaires de transfert de fichiers scp et sftp ainsi que des outils de génération de clés (ssh-keygen), de stockage de clés à l'exécution (ssh-agent) et un certain nombre de programmes de support.
Il s'agit d'un portage de l'OpenSSH d'OpenBSD vers la plupart des systèmes d'exploitation de type Unix, notamment Linux, OS X et Cygwin. Portable OpenSSH fournit des implémentations de remplacement pour les API OpenBSD qui ne sont pas disponibles ailleurs, ajoute le sandboxing de sshd pour davantage de systèmes d'exploitation et inclut la prise en charge de l'authentification et de l'audit natifs du système d'exploitation (par exemple via PAM).
La documentation officielle d'OpenSSH est constituée des pages de manuel de chaque outil :
Les archives des versions stables sont disponibles sur plusieurs miroirs de téléchargement. Nous recommandons l'utilisation d'une version stable pour la plupart des utilisateurs. Veuillez consulter les notes de version pour obtenir des détails sur les modifications récentes et les incompatibilités potentielles.
Portable OpenSSH est compilé à l'aide d'autoconf et de make. Il nécessite un compilateur C fonctionnel, une bibliothèque standard et des en-têtes.
libcrypto de l'un des projets LibreSSL, OpenSSL, AWS-LC ou BoringSSL peut également être utilisé. OpenSSH peut être compilé sans aucun d'entre eux, mais les binaires obtenus ne disposeront que d'un sous-ensemble des algorithmes cryptographiques normalement disponibles.
zlib est facultatif ; sans lui, la compression du transport n'est pas prise en charge.
La prise en charge des jetons de sécurité FIDO nécessite libfido2 et ses dépendances, et sera activée automatiquement si elles sont trouvées.
De plus, certaines plateformes et options de compilation peuvent nécessiter des dépendances supplémentaires ; consultez README.platform pour plus de détails sur votre plateforme.
Les archives de versions et les branches de version dans git incluent une copie précompilée du script configure et peuvent être compilées à l'aide de :
tar zxvf openssh-X.YpZ.tar.gz
cd openssh
./configure # [options]
make && make tests
Consultez la section Personnalisation au moment de la compilation ci-dessous pour connaître les options de configure. Si vous prévoyez d'installer OpenSSH sur votre système, vous souhaiterez généralement spécifier les chemins de destination.
Si vous compilez à partir de la branche master de git, vous aurez besoin d'autoconf installé pour générer le script configure. Les commandes suivantes permettent de récupérer et de compiler Portable OpenSSH depuis git :
git clone https://github.com/openssh/openssh-portable # or https://anongit.mindrot.org/openssh.git
cd openssh-portable
autoreconf
./configure
make && make tests
De nombreuses options de personnalisation au moment de la compilation sont disponibles. Tous les indicateurs de chemin de destination d'Autoconf (par exemple --prefix) sont pris en charge (et sont généralement requis si vous souhaitez installer OpenSSH).
Pour une liste complète des indicateurs disponibles, exécutez ./configure --help ; quelques-uns des plus fréquemment utilisés sont décrits ci-dessous. Certains de ces indicateurs nécessitent l'installation de bibliothèques et/ou d'en-têtes supplémentaires.
Le développement de Portable OpenSSH est discuté sur la liste de diffusion openssh-unix-dev (miroir des archives). Les bogues et les demandes de fonctionnalités sont suivis sur notre Bugzilla.
Les bogues non liés à la sécurité peuvent être signalés aux développeurs via Bugzilla ou via la liste de diffusion ci-dessus. Les bogues de sécurité doivent être signalés à [email protected].
| Flag | Meaning |
|---|
--with-pam | Active la prise en charge de PAM. OpenPAM, Linux PAM et Solaris PAM sont pris en charge. |
--with-libedit | Active la prise en charge de libedit pour sftp. |
--with-kerberos5 | Active la prise en charge de Kerberos/GSSAPI. Les implémentations Kerberos Heimdal et MIT sont toutes deux prises en charge. |
--with-selinux | Active la prise en charge de SELinux. |