Serveur OpenSSH

Introduction

Cette partie du guide du serveur Ubuntu présente une collection d'outils destinée à la prise de contrôle à distance d'ordinateurs inter-connectés en réseau et au transfert de données entre ces ordinateurs, appelée OpenSSH. Vous prendrez également connaissance de quelques possibilités de configuration du serveur OpenSSH et comment les mettre en œuvre sur votre système Ubuntu.

OpenSSH est une version libre du protocole Secure Shell (SSH), c'est une collection d'outils pour le contrôle d'ordinateurs à distance, ou le transfert de fichiers entre ordinateurs. Les outils traditionnels pour effectuer ces tâches, comme telnet ou rcp, ne sont pas sécurisés et font transiter le mot de passe de l'utilisateur en clair. OpenSSH fournit un serveur et des outils clients pour faciliter le contrôle à distance et le transfert de fichiers de façon sécurisée grâce au chiffrement des données, et donc remplace efficacement les anciens outils.

Le serveur OpenSSH, sshd, attend en permanence des connexions depuis des clients. Quand une requête de connexion a lieu, sshd établit la connexion correcte en fonction du type de client. Par exemple, si un client se connecte avec le client ssh, le serveur OpenSSH va établir une connexion sécurisée après une authentification. Si un client se connecte avec scp, le serveur OpenSSH va commencer un transfert de fichier sécurisé entre le serveur et le client après une authentification. OpenSSH peut utiliser de nombreuses méthodes d'authentification, par exemple un mot de passe, une clé publique, ou un ticket Kerberos.

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-get install openssh-client

Pour installer le serveur OpenSSH et les fichiers nécessaires, utilisez cette commande dans un terminal :

sudo apt-get install openssh-server

Configuration

Vous pouvez configurer le comportement par défaut du serveur OpenSSH, sshd, en éditant 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 y a de nombreuses options dans le fichier de configuration de sshd qui contrôlent par exemple les paramètres de communication et les modes d'authentification. Des exemples d'options pouvant être éditées dans le fichier /etc/ssh/ssh_config sont présentés par la suite.

[Astuce]

Avant d'éditer 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 :

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original
sudo chmod a-w /etc/ssh/sshd_config.original

Voici des exemples de directives de configuration que vous pourriez changer :

  • Pour que OpenSSH écoute sur le port 2222 au lieu du port par défaut 22, changez l'option 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

    dans le fichier /etc/ssh/sshd_config, ou si elle existe déjà, assurez-vous que la ligne correspondante ne soit 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 /etc/init.d/ssh restart

[Avertissement]

Beaucoup d'autres directives de configuration pour sshd sont disponibles pour adapter son comportement à vos besoins. Soyez conscient néanmoins que si votre unique possibilité d'accès au serveur est ssh et que vous commettiez une erreur de configuration pour le service sshd dans le fichier /etc/ssh/sshd_config, il se pourrait que vous vous bloquiez l'accès au serveur jusqu'à son redémarrage, ou que le service sshd refuse de redémarrer à cause d'une directive incorrecte de configuration. Par conséquent, soyez extrêmement prudent lorsque vous éditez ce fichier sur un serveur distant.

Références

Site Internet de OpenSSH

Configuration avancée d'OpenSSH