# Equilibrage de charge SSH avec SSHProxy > [! remarque]- > Le contenu de cette page est généré à partir de la transcription audio/vidéo et de la transformation du texte provenant du contenu et des liens de cette source. Source : [https://fosdem.org/2025/schedule/event/fosdem-2025-4788-sshproxy-how-to-load-balance-ssh/](https://fosdem.org/2025/schedule/event/fosdem-2025-4788-sshproxy-how-to-load-balance-ssh/) <video src=« https://video.fosdem.org/2025/h2215/fosdem-2025-4788-sshproxy-how-to-load-balance-ssh.av1.webm » controls></video> ## Résumé et points forts : SSHProxy est un outil puissant pour gérer et équilibrer les connexions SSH vers des supercalculateurs, comme démontré par Cyril Servant lors de FOSDEM 2025. **Introduction à SSHProxy** SSHProxy est une solution de proxy SSH qui permet de gérer efficacement les connexions à des supercalculateurs en choisissant le nœud de destination basé sur des règles diverses. Créé à l'origine par Arnaud Guignard en 2014, il est écrit en Go et utilise un fichier de configuration YAML simple, ce qui le rend facile à déployer et à configurer. **Utilisation chez CEA** Au CEA, SSHProxy permet à des milliers d'utilisateurs de se connecter simultanément à plusieurs supercalculateurs. Il assure une distribution équilibrée des connexions grâce à des fonctionnalités avancées comme le suivi des connexions et la gestion de la bande passante. Le système est conçu pour être extensible et peut être distribué sur plusieurs passerelles avec des états partagés. **Fonctionnalités avancées** SSHProxy offre des options avancées telles que le choix de la destination en fonction des connexions actives ou de la bande passante utilisée, des modes de connexion 'sticky' ou 'balanced', et une gestion des connexions maximales par utilisateur. Il permet également de surveiller et de manipuler l'état des nœuds de connexion via des commandes scriptables. **Perspectives et défis** L'outil présente des opportunités significatives pour les concepteurs écosociaux en termes de gestion efficace des ressources informatiques. Cependant, des défis subsistent, notamment en matière de sécurité des données et de gestion des accès réseau dans des environnements complexes. ## Importance pour une transformation écosociale SSHProxy est crucial pour une transformation écosociale car il permet une utilisation plus efficace des ressources informatiques, réduisant ainsi l'empreinte carbone des opérations de calcul intensif. Les concepteurs écosociaux peuvent appliquer SSHProxy pour optimiser l'accès aux ressources partagées dans divers contextes, notamment les centres de données et les infrastructures cloud. Les défis incluent la nécessité d'une gestion sécurisée des données, la protection de la vie privée des utilisateurs, et la gestion des infrastructures réseau complexes. Des outils comme etcd pour la gestion des états distribués et des méthodes de configuration simples offrent des solutions concrètes, mais nécessitent une attention particulière aux aspects techniques et sociaux pour surmonter les obstacles potentiels. ## Slides: | | | | --- | --- | | ![[FOSDEM 2025/assets/sshproxy-how-to-loadbalance-ssh/preview_001.jpg\|300]] | La première diapositive présente SSHProxy, un outil d'équilibrage de charge SSH, développé par Cyril Servant, ingénieur HPC au CEA. L'outil est disponible sur GitHub et a été présenté en février 2025. Il est conçu pour gérer efficacement les connexions SSH vers des supercalculateurs. | ![[FOSDEM 2025/assets/sshproxy-how-to-loadbalance-ssh/preview_002.jpg\|300]] | La deuxième diapositive donne un aperçu du CEA, un institut national de recherche en France avec environ 20 000 employés. Cyril Servant, qui travaille au service des supercalculateurs du CEA depuis 2020, présente SSHProxy, un outil pour équilibrer la charge des connexions SSH. | ![[FOSDEM 2025/assets/sshproxy-how-to-loadbalance-ssh/preview_003.jpg\|300]] | La troisième diapositive explique le besoin de SSHProxy au CEA, où chaque supercalculateur a plusieurs nœuds de connexion. Les utilisateurs étant sur des réseaux publics et les nœuds sur des réseaux privés, une solution était nécessaire pour permettre la connexion et l'équilibrage de charge de milliers d'utilisateurs. SSHProxy, créé en 2014, est simple, puissant, rapide et évolutif, capable de gérer environ 100 000 connexions quotidiennes et 1 000 connexions simultanées en moyenne, avec une préparation pour un débit de 100 Gb/s. | ![[FOSDEM 2025/assets/sshproxy-how-to-loadbalance-ssh/preview_004.jpg\|300]] | La quatrième diapositive montre un exemple réel de l'utilisation de SSHProxy au CEA, illustrant comment l'outil est utilisé pour équilibrer la charge des connexions SSH vers les supercalculateurs, et comment il s'intègre dans l'infrastructure existante. | ![[FOSDEM 2025/assets/sshproxy-how-to-loadbalance-ssh/preview_005.jpg\|300]] | La cinquième diapositive décrit l'utilisation typique de SSHProxy au CEA, où seulement trois passerelles suffisent pour gérer des milliers de connexions simultanées vers plusieurs supercalculateurs. La diapositive invite à explorer le fichier de configuration de SSHProxy. | ![[FOSDEM 2025/assets/sshproxy-how-to-loadbalance-ssh/preview_006.jpg\|300]] | La sixième diapositive explique le processus d'intermédiaire de SSHProxy, où un utilisateur se connecte à un serveur distant via SSH, l'authentification est gérée par OpenSSH, qui lance ensuite SSHProxy. SSHProxy choisit une destination et connecte l'utilisateur, rendant le processus transparent. | ![[FOSDEM 2025/assets/sshproxy-how-to-loadbalance-ssh/preview_007.jpg\|300]] | La septième diapositive énumère les objectifs de SSHProxy : authentification, chiffrement, routage et mise à l'échelle. Elle montre un exemple de service nommé chimay avec une destination configurée. | ![[FOSDEM 2025/assets/sshproxy-how-to-loadbalance-ssh/preview_008.jpg\|300]] | La huitième diapositive illustre la distribution des utilisateurs avec SSHProxy. Elle présente un service nommé chimay avec deux destinations possibles et un choix de route aléatoire pour équilibrer la charge. | ![[FOSDEM 2025/assets/sshproxy-how-to-loadbalance-ssh/preview_009.jpg\|300]] | La neuvième diapositive présente SSHProxy comme un proxy avec état, utilisant etcd pour gérer les états distribués. Cela permet de maintenir la cohérence des connexions et d'assurer une distribution équilibrée des utilisateurs. | ![[FOSDEM 2025/assets/sshproxy-how-to-loadbalance-ssh/preview_010.jpg\|300]] | La dixième diapositive explique comment SSHProxy peut être utilisé comme un proxy distribué, permettant d'ajouter autant de passerelles que nécessaire pour la redondance et un débit accru, tout en maintenant un état distribué avec etcd. | ![[FOSDEM 2025/assets/sshproxy-how-to-loadbalance-ssh/preview_011.jpg\|300]] | La onzième diapositive aborde la gestion de plusieurs plateformes avec SSHProxy, en utilisant etcd et des règles de substitution pour diriger les connexions vers différentes destinations en fonction des adresses IP sources. | ![[FOSDEM 2025/assets/sshproxy-how-to-loadbalance-ssh/preview_012.jpg\|300]] | La douzième diapositive introduit les fonctionnalités avancées de SSHProxy, offrant une large gamme d'options pour personnaliser le routage et la gestion des connexions. | ![[FOSDEM 2025/assets/sshproxy-how-to-loadbalance-ssh/preview_013.jpg\|300]] | La treizième diapositive détaille la gestion des connexions avec SSHProxy, y compris les paramètres pour le choix de la destination en fonction des connexions actives ou de la bande passante, et les modes de connexion 'sticky' ou 'balanced'. | ![[FOSDEM 2025/assets/sshproxy-how-to-loadbalance-ssh/preview_014.jpg\|300]] | La quatorzième diapositive compare les modes 'sticky' et 'balanced' de SSHProxy, avec des exemples de configuration utilisant etcd pour gérer les connexions de manière aléatoire ou en fonction des connexions établies. | ![[FOSDEM 2025/assets/sshproxy-how-to-loadbalance-ssh/preview_015.jpg\|300]] | La quinzième diapositive présente les fonctionnalités de surveillance de SSHProxy, permettant de suivre le nombre de connexions et la bande passante utilisée, avec des commandes scriptables pour afficher et modifier l'état des nœuds de destination. | ![[FOSDEM 2025/assets/sshproxy-how-to-loadbalance-ssh/preview_016.jpg\|300]] | La seizième diapositive explique le système de substitutions puissant de SSHProxy, permettant de remplacer tous les paramètres pour un service donné, un groupe ou un utilisateur, et de combiner ces substitutions avec des règles logiques. | ![[FOSDEM 2025/assets/sshproxy-how-to-loadbalance-ssh/preview_017.jpg\|300]] | La dix-septième diapositive présente d'autres fonctionnalités de SSHProxy, telles que la gestion des commandes, l'affichage de bannières d'erreur et la modification des commandes à la connexion. | ![[FOSDEM 2025/assets/sshproxy-how-to-loadbalance-ssh/preview_018.jpg\|300]] | La dernière diapositive remercie l'audience pour son attention et fournit les coordonnées de Cyril Servant ainsi qu'un lien vers le dépôt GitHub de SSHProxy. ## Liens [Slides](https://fosdem.org/2025/events/attachments/fosdem-2025-4788-sshproxy-how-to-load-balance-ssh/slides/238050/FOSDEM_2suN3Gq.pdf) [Github Repository](https://github.com/cea-hpc/sshproxy) [Video recording (AV1/WebM)](https://video.fosdem.org/2025/h2215/fosdem-2025-4788-sshproxy-how-to-load-balance-ssh.av1.webm) [Video recording (MP4)](https://video.fosdem.org/2025/h2215/fosdem-2025-4788-sshproxy-how-to-load-balance-ssh.av1.mp4) [Video recording subtitle file (VTT)](https://fosdem.org/2025/events/attachments/fosdem-2025-4788-sshproxy-how-to-load-balance-ssh/subtitles/238050/FOSDEM_2suN3Gq.vtt) [Chat room(web)](https://fosdem.org/2025/events/attachments/fosdem-2025-4788-sshproxy-how-to-load-balance-ssh/chat/web) [Chat room(app)](https://fosdem.org/2025/events/attachments/fosdem-2025-4788-sshproxy-how-to-load-balance-ssh/chat/app)