Proposer une ligne de commande, ou du moins une forme de REPL (read–eval–print loop) pour manipuler interactivement un montage ou une installation à base de microcontrôleur est un grand classique. Lorsque cela se fait via une connexion réseau, par opposition à une liaison série, par exemple, on en arrive souvent à utiliser quelque chose qui ressemble à Telnet avec une authentification assez basique et surtout une absence totale de chiffrement. Sur PC ou SBC, cela fait longtemps que ce genre de choses est devenu totalement obsolète, au bénéfice du classique SSH. Pourquoi n'en serait-il pas de même avec un MCU un peu « musclé » ?
Vous me direz « mais il n'y a pas de serveur OpenSSH sur microcontrôleur » et vous avez presque raison, car même si le sshd pur jus d'OpenBSD n'existe que pour les systèmes d'exploitation fonctionnant sur architectures x86, amd64 et consorts (ARM, MIPS, PowerPC, Sparc64, etc.), c'est sans compter la LibSSH [1]. Celle-ci, initialement développée par Aris Adamantiadis, implémente le protocole SSHv2 aussi bien côté client que serveur et permet de relativement facilement embarquer des fonctionnalités dans vos propres programmes, comme l'accès à distance, le transfert de fichiers, le tunneling ou encore la gestion de clés. La LibSSH est développée en C et supporte toutes les caractéristiques habituelles du protocole, en reposant sur l'implémentation SSL/TLS propre à la plateforme cible, qu'il s'agisse d'OpenSSL, mbedTLS ou gcrypt, le tout en disposant d'une belle collection de bindings (Python, Perl,…
- 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