OpenSSH Secure Shell est à la fois un programme informatique et un protocole de communication sécurisé. Le protocole de connexion impose un échange de clés de chiffrement en début de connexion. Par la suite, tous les segments TCP sont authentifiés et chiffrés. Présentation Qu’est-ce qu’OpenSSH ? OpenSSH est une suite d’outils open source qui permet de sécuriser les communications entre ordinateurs. Son objectif principal est de fournir un accès à distance sécurisé via le protocole SSH (Secure Shell). Grâce à OpenSSH, il est possible de se connecter à un autre ordinateur, exécuter des commandes, transférer des fichiers, tout cela de manière chiffrée. OpenSSH remplace les anciennes méthodes non sécurisées comme Telnet ou FTP, en garantissant que les données échangées ne peuvent pas être interceptées ou modifiées. À quoi sert OpenSSH ? OpenSSH sert principalement à administrer un serveur ou une machine distante en toute sécurité. Il permet d’ouvrir une session à distance, de gérer des fichiers via SCP ou SFTP, et d’exécuter des scripts. Il est aussi utilisé pour configurer des tunnels sécurisés, permettant de protéger d’autres types de connexions réseau, comme les bases de données ou les applications internes. Comment fonctionne OpenSSH ? OpenSSH fonctionne avec un modèle client-serveur. Le serveur SSH tourne sur la machine distante et attend les connexions. Le client SSH, installé sur votre ordinateur local, initie la connexion. La communication entre client et serveur est chiffrée, assurant la confidentialité et l’intégrité des données. L’authentification peut se faire par mot de passe, ou plus sécurisé, par clés cryptographiques. Pourquoi utiliser OpenSSH ? OpenSSH est un outil indispensable pour tout administrateur système ou utilisateur ayant besoin d’accéder à distance à une machine. Sa sécurité, sa fiabilité et sa simplicité en font un standard dans le monde Linux, mais il est aussi disponible sur Windows et macOS. Utiliser OpenSSH, c’est garantir que les échanges sont protégés contre les interceptions et que l’accès à vos serveurs est sécurisé. Cas d’usage courants OpenSSH est utilisé pour : Se connecter à distance à un serveur Linux ou Unix, Transférer des fichiers en toute sécurité avec SCP ou SFTP, Exécuter des commandes à distance, Mettre en place des tunnels chiffrés pour sécuriser d’autres connexions, Automatiser des tâches via des scripts SSH. En résumé OpenSSH est la référence pour sécuriser les connexions à distance. Il assure la confidentialité, l’intégrité, et l’authentification forte, permettant de gérer ses serveurs facilement et en toute sécurité. Installation L'installation des applications client et serveur d'OpenSSH est simple. Pour installer les applications clientes d'OpenSSH sur votre système Ubuntu, tapez cette commande dans un terminal : sudo apt install openssh-client Pour installer le serveur OpenSSH et les fichiers nécessaires, utilisez cette commande dans un terminal : sudo apt install openssh-server Le paquet openssh-server peut aussi être sélectionné pour s'installer pendant la procédure d'installation de l'édition serveur. Configuration Vous pouvez configurer le comportement par défaut du serveur OpenSSH, sshd, en modifiant le fichier /etc/ssh/sshd_config. Pour des informations sur les options de configuration utilisées dans ce fichier, veuillez lire le manuel approprié en tapant la commande suivante dans un terminal : man sshd_config Il existe de nombreuses directives dans le fichier de configuration sshd contrôlant des choses telles que les paramètres de communication et les modes d'authentification. Ce qui suit sont des exemples de directives de configuration modifiables en éditant le fichier  /etc/ssh/sshd_config . Avant de modifier le fichier de configuration, vous devriez faire une copie du fichier original et le protéger en écriture de façon à conserver les paramètres d'origine en référence et à pouvoir les réutiliser en cas de besoin. Copiez le fichier /etc/ssh/sshd_config et protégez le en écriture en tapant la commande suivante dans un terminal : cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original chmod a-w /etc/ssh/sshd_config.original Voici des exemples de directives de configuration que vous pouvez changer : Pour que OpenSSH écoute sur le port TCP 2222 au lieu du port par défaut 22, changez la directive Port comme ceci : Port 2222 Pour que sshd accepte les informations de connexion basées sur une clef publique, il suffit d'ajouter ou de modifier la ligne : PubkeyAuthentication yes Si la ligne est déjà présente, alors assurez-vous qu'elle n'est pas commentée. Pour que le serveur OpenSSH affiche le contenu du fichier /etc/issue.net comme une invite avant l'affichage de l'écran de connexion, il suffit d'ajouter ou de modifier la ligne : Banner /etc/issue.net Dans le fichier /etc/ssh/sshd_config. Après avoir modifié le fichier  /etc/ssh/sshd_config , enregistrez-le et redémarrez le service  sshd  afin de prendre en compte les changements. Pour cela, saisissez la commande suivante dans un terminal. sudo systemctl restart sshd.service Beaucoup d'autres directives de configuration  sshd  sont disponibles pour changer le comportement de l'application serveur en fonction de vos besoins. Soyez averti, cependant, si votre seul moyen d'accès à un serveur est  ssh  et que vous faites une erreur dans la configuration  sshd  dans le fichier  /etc/ssh/sshd_config , vous pouvez vous retrouver bloqué sur le serveur lors de son redémarrage. En outre, si une directive de configuration incorrecte est fournie, le serveur  sshd  peut refuser de démarrer, soyez donc très prudent lorsque vous modifiez ce fichier sur un serveur distant. Clés SSH Les clés SSH permettent l’authentification entre deux hôtes sans avoir besoin de mot de passe. L’authentification par clé SSH utilise deux clés, une clé privée et une clé publique. Pour générer les clés, dans un terminal tapez : ssh-keygen -t rsa Cela générera les clés à l'aide de l'Algorithme RSA. Pendant le processus, vous serez invité à entrer un mot de passe. Appuyez simplement sur Entrée lorsque vous y êtes invité pour créer la clé. Par défaut, la clé publique est sauvegardée dans le fichier ~/.ssh/id_rsa.pub, alors que la clé privée est dans ~/.ssh/id_rsa. Copiez maintenant le fichier id_rsa.pub sur l'hôte distant et ajoutez le à ~/.ssh/authorized_keys en entrant : ssh-copy-id identifiant@hôte Pour finir, vérifiez les permissions du fichier authorized_keys. Seul l'utilisateur authetifié doit avoir les droits en lecture et écriture. Si les permissions sont incorrectes, changez-les en tapant : chmod 600 .ssh/authorized_keys Vous devriez maintenant pouvoir établir une connexion SSH vers l'hôte sans avoir à saisir de mot de passe.