OpenSSH est une implémentation complète du protocole SSH (version 2) pour une connexion à distance sécurisée, l'exécution de commandes et le transfert de fichiers. Il comprend 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 d'exécution ( ssh-agent
) et un certain nombre de programmes de support.
Il s'agit d'un portage d'OpenSSH d'OpenBSD vers la plupart des systèmes d'exploitation de type Unix, notamment Linux, OS X et Cygwin. Portable OpenSSH polyfille les API OpenBSD qui ne sont pas disponibles ailleurs, ajoute le sandboxing 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 en utilisant PAM).
La documentation officielle d'OpenSSH sont les pages de manuel de chaque outil :
chut(1)
sshd(8)
ssh-keygen(1)
agent ssh (1)
scp(1)
FTP(1)
ssh-keyscan(8)
serveur sftp (8)
Des archives tar de version stable sont disponibles à partir d'un certain nombre de miroirs de téléchargement. Nous recommandons l'utilisation d'une version stable pour la plupart des utilisateurs. Veuillez lire les notes de version pour plus de détails sur les modifications récentes et les incompatibilités potentielles.
Portable OpenSSH est construit à l'aide d'autoconf et make. Il nécessite un compilateur C fonctionnel, une bibliothèque standard et des en-têtes.
libcrypto
de LibreSSL ou OpenSSL peut également être utilisé. OpenSSH peut être construit sans aucun de ces éléments, mais les binaires résultants n'auront qu'un sous-ensemble des algorithmes cryptographiques normalement disponibles.
zlib est facultatif ; sans cela, la compression de 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 plates-formes et options de construction peuvent nécessiter des dépendances supplémentaires ; voir README.platform pour plus de détails sur votre plateforme.
Les archives tar de version et les branches de version dans git incluent une copie prédéfinie du script configure
et peuvent être construites en utilisant :
tar zxvf openssh-X.YpZ.tar.gz cd openssh ./configure # [options] make && make tests
Consultez la section Personnalisation au moment de la construction ci-dessous pour connaître les options de configuration. Si vous envisagez d'installer OpenSSH sur votre système, vous souhaiterez généralement spécifier les chemins de destination.
Si vous construisez à partir de la branche git master, vous devrez installer autoconf pour créer le script configure
. Les commandes suivantes extrairont et créeront OpenSSH portable à partir de 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 construction sont disponibles. Tous les indicateurs de chemin de destination 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
mais quelques-uns des plus fréquemment utilisés sont décrits ci-dessous. Certains de ces indicateurs nécessiteront l'installation de bibliothèques et/ou d'en-têtes supplémentaires.
Drapeau | Signification |
---|---|
--with-pam | Activez la prise en charge de PAM. OpenPAM, Linux PAM et Solaris PAM sont pris en charge. |
--with-libedit | Activez la prise en charge de Libedit pour SFTP. |
--with-kerberos5 | Activez la prise en charge Kerberos/GSSAPI. Les implémentations Heimdal et MIT Kerberos sont prises en charge. |
--with-selinux | Activez la prise en charge de SELinux. |
Le développement portable d'OpenSSH est discuté sur la liste de diffusion openssh-unix-dev (miroir d'archive). Les bugs et 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].