
Bibliothèque client/serveur SSH purement Java implémentant le protocole SSH-2 avec prise en charge de plusieurs chiffrements, échanges de clés, méthodes d'authentification, SFTP, SCP et transfert de port pour un accès distant sécurisé.

Apache MINA SSHD est une bibliothèque 100 % pure Java pour prendre en charge les protocoles SSH côté client et serveur. Elle ne vise pas à remplacer le client SSH ou le serveur SSH des systèmes d'exploitation Unix, mais plutôt à fournir un support pour les applications Java nécessitant SSH.
La bibliothèque peut utiliser plusieurs back-ends d'E/S :
AsynchronousSocketChannel de Java.server-sig-algs.supported - DRAFT 05 - section 4.4supported2 - DRAFT 13 section 5.4versions - DRAFT 09 Section 4.6vendor-id - DRAFT 09 - section 4.4acl-supported - DRAFT 11 - section 5.4newline - DRAFT 09 Section 4.3md5-hash, md5-hash-handle - DRAFT 09 - section 9.1.1check-file-handle, - eddsa), [email protected], [email protected]
, [email protected], [email protected], [email protected]
, [email protected], [email protected], [email protected]Remarque : La liste ci-dessus contient tous les paramètres de sécurité pris en charge dans le code. Cependant, conformément aux recommandations les plus récentes, la configuration client/serveur par défaut n'inclut que les paramètres de sécurité actuellement considérés comme sûrs. Les utilisateurs souhaitant inclure les paramètres non sûrs doivent le faire explicitement. Les paramètres suivants ont été dépréciés et ne sont plus inclus dans la configuration par défaut :
Mise en garde : Selon RFC 8332 - section 3.31
L'expérience de mise en œuvre a montré qu'il existe des serveurs qui appliquent des pénalités d'authentification aux clients qui tentent des algorithmes de clé publique que le serveur SSH ne prend pas en charge.
Lors de l'authentification avec une clé RSA auprès d'un serveur qui n'implémente pas l'extension "server-sig-algs", les clients PEUVENT par défaut utiliser une signature "ssh-rsa" pour éviter les pénalités d'authentification. Lorsque les nouveaux algorithmes rsa-sha2-* auront été suffisamment adoptés pour justifier la désactivation de "ssh-rsa", les clients PEUVENT par défaut utiliser l'un des nouveaux algorithmes.
Cela signifie que les utilisateurs rencontrant ce problème (et des problèmes connexes) doivent modifier les paramètres de sécurité pris en charge explicitement afin d'éviter le problème.
Avis spécial : ssh-rsa a été conservé dans la configuration par défaut car de nombreux systèmes/utilisateurs l'utilisent encore.
Cependant, dans une version future, il sera supprimé de la configuration par défaut. Nous encourageons donc vivement les utilisateurs à migrer
vers d'autres clés (par exemple ECDSA, ED25519) dès que possible.
Les rapports de bogues et les demandes d'amélioration ou de fonctionnalités peuvent être déposés sur le traqueur de problèmes GitHub ou sur le traqueur de problèmes Apache.
Les problèmes sensibles tels que les vulnérabilités de sécurité doivent être signalés via des canaux privés, et non via l'un ou l'autre traqueur.
Java 8+ (à partir de la version 1.3)
Le code nécessite uniquement le module abstrait principal slf4j-api. L'implémentation réelle de l'API de journalisation peut être sélectionnée parmi les nombreux adaptateurs existants.
sshd-common - contient les classes de base utilisées dans tout le projet ainsi que du code ne nécessitant pas de support réseau client ou serveur.
sshd-core - contient le code de base du client/serveur SSH implémentant la connexion, le transport, les canaux, le forwarding, etc.
sshd-sftp - contient le sous-système SFTP côté serveur et le code client SFTP.
sshd-scp - contient le gestionnaire de commandes SCP côté serveur et le code client SCP.
sshd-ldap - contient des authentifiants de mot de passe et de clé publique côté serveur utilisant un serveur LDAP.
sshd-git - contient des remplacements pour la fabrique de sessions SSH de JGit.
sshd-osgi - contient un artefact qui combine sshd-common et sshd-core afin de pouvoir être déployé dans des environnements OSGi.
sshd-putty - contient du code capable d'analyser les fichiers de clés PUTTY.
sshd-openpgp - contient du code capable d'analyser les fichiers de clés OpenPGP (avec certaines limitations - voir section correspondante)
sshd-cli - contient des modèles simples pour le client/serveur en ligne de commande - utilisés pour offrir une apparence similaire aux commandes Linux ssh/sshd.
sshd-contrib - code expérimental actuellement en cours d'examen et qui pourrait être intégré dans l'un des autres artefacts (ou devenir un artefact entièrement nouveau - par exemple, sshd-putty a évolué de cette façon).
Inclure les tests
mvn clean install
Sans les tests
mvn -Pquick clean install
check-file-namecopy-file, copy-data - DRAFT 00 - sections 6, 7space-available - DRAFT 09 - section 9.2filename-charset, filename-translation-control - DRAFT 13 - section 6 - côté client uniquement