Secure Shell, plus communément appelé SSH, est une application très largement utilisée pour l’administration des systèmes Unix/Linux. Utilisant le même acronyme, le protocole SecSH ou SSH, standardisé par l’IETF, fait partie de ces protocoles qui ont inclus nativement des principes de chiffrement modernes en leur sein, à l’instar de leurs anciens concurrents de l’époque tels que RSH ou TELNET. Installé par défaut sur une très grande majorité de systèmes libres comme propriétaires, SSH est littéralement incontournable. Résultat d’un effort collectif de plusieurs années de travail, il a eu l’incroyable privilège de façonner le vaste univers du numérique que tout un chacun connaît aujourd’hui. Sa flexibilité légendaire, son respect des bonnes pratiques, ses nombreuses spécifications ainsi que ses innombrables implémentations font de ce protocole un outil parfait pour l’apprentissage de la programmation et de la sécurité.
Cette série d’articles commencée mi-2020 a pour objectif d’introduire le développement avec Erlang/OTP par la pratique et au travers d’un projet réel, en utilisant le minimum de dépendances externes. Le code qui sera présenté dans les prochaines lignes utilise la version R25 d’Erlang/OTP, le tout est testé sur une distribution proche de Debian GNU/Linux et un système d’exploitation OpenBSD-current. Le retour des fonctions n’est généralement pas fourni – sauf cas exceptionnel, pour des raisons de manque de place.
1. Introduction
L’administration à distance ne date pas d’hier. Il y a encore quelques décennies, les programmeurs, ingénieurs et autres chercheurs utilisaient un système de terminal pour se connecter à distance à des mainframes, bien souvent un ou plusieurs supercalculateurs partagés entre différents utilisateurs connectés. Une simple ligne téléphonique faisait généralement office de lien physique entre les clients et les...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première