Administration sécurisée à distance d’Ubuntu Server avec ssh
Secure Shell (ssh) est à la fois un programme informatique et un protocole de communication sécurisé permettant entre autre de se connecter à un ordinateur a distance.
Sommaire
1.Introduction
1.1.Pourquoi utiliser ssh et pas telnet
Le protocole Telnet est simple mais dangereux parce que les données transitent en clair sur le réseau identifiant et mot de passe compris. Comme il est impossible d’empêcher quelqu’un d’intercepter les données qui transitent à travers internet, il faut les crypter. Ssh, lui, utilise la cryptographie asymétrique. Le serveur et le client disposent de deux clefs : une clé publique et une clef privée, où seule la clé publique circule librement sur le réseau tandis que la clef privée reste secrète.
2.Installer Openssh sur notre Serveur Ubuntu
Il faut tout simplement installer le paquet openssh-server :
sudo apt-get install openssh-server
Lors de l’installation, vous devriez voir ces informations s’afficher :
Creating ssh2 RSA key; this may take some time …
Creating ssh2 DSA key; this may take some time …
* Restarting OpenBSD Secure Shell server sshd [ OK ]
Comme vous pouvez le remarquer ssh peut travailler avec les 2 algorithmes de cryptage asymétrique RSA et DSA. Normalement le démon sshd est lancé à la fin de l’installation
3.Configurer le serveur Openssh
Le fichier de configuration d’Openssh se trouve dans le répertoire /etc/ssh et se nomme sshd_config.
Port 22
Signifie que le serveur SSH écoute sur le port 22, qui est le port par défaut de SSH. Vous pouvez le faire écouter sur un autre port en changeant cette ligne. Vous pouvez aussi le faire écouter sur plusieurs ports à la fois en rajoutant des lignes similaires.
PermitRootLogin no
Signifie que vous ne pouvez pas vous connecter en tant qu’utilisateur root par SSH. Cela évitera des déconvenues dans le cas d’un vol d’ordinateur ou un simple départ d’un collaborateur.
X11Forwarding yes
Signifie que vous allez pouvoir travailler en déport d’affichage par SSH. Ce sera expliqué plus tard, dans le Chapitre 42.
3.1.Application des modifications
il faut redémarrer le service sshd, pour cela il suffit de lancer la commande suivante
sudo servive ssh restart
3.1.Un peu de sécurité
D’autres paramètres permettent de sécuriser un peu plus les connexions à vos serveurs Ubuntu :
AllowGroups
Par exemple lors d’un départ d’un collaborateur, se celui-ci a précédemment défini une authentification par clé publique pour se connecter au serveur, la simple désactivation ou le verrouillage de son compte utilisateur sur le serveur ne l’empêchera pas de se connecter à distance. Donc lors d’un départ soit pensez à vider les répertoires utilisateurs du dossier .ssh
Une autre solution consiste à définir un groupe autorisé à se connecter via ssh à votre serveur et à ajouter le paramètre suivant :
AllowGroups sshusers
Puis ajoutez vos utilisateurs autorisés au groupe sshusers. Par la suite lors d’un d’un départ il vous suffira de retirer ce user de ce groupe.
PasswordAuthentication no
UsePAM no
Il est possible de restreindre la connexion aux seules clients possédant une clé publique déclarée sur le serveur. Pour cela il suffit de demander au client de créer une clé pour ensuite l’intégrer à votre serveur.
4.Utilisation du client ssh
Comme vu plus haut, vous pouvez utiliser deux modes d’authentification pour vous connecter au serveur :
- Authentification par mot de passe.
- Authentification par clé publique et privée du client.
4.1.L’authentification par mot de passe
Nous avons pour le moment vu uniquement l’authentification par mot de passe (le serveur vous demandait votre mot de passe).
4.2.L’authentification par clé publique et privée du client
C’est le client qui va générer une clé publique et une clé privée via la commande ssh-keygen -t rsa. Ensuite il faut fournir le contenu du fichier .ssh/id_rsa.pub à l’administrateur du serveur qui l’ajoutera ~/.ssh/authorized_keys du compte utilisateur utilisé pour se connecter au serveur.
Une autre manière d’opérer est d’utiliser la commande ssh-copy-id pour envoyer la clé publique sur le serveur :
ssh-copy-id -i ~/.ssh/id_rsa.pub [port] login@ip
Cette commande vous demandera votre mot de passe de connexion sur le serveur pour la dernière. Lors de la prochaine connexion, seule la paraphrase, si elle n’est pas vide, sera demandée.
4.3. Utilisation de la commande client ssh
La commande cliente ssh est assez simple à utiliser. Il suffit d’indiquer le port, le user et le nom ou l’adresse du serveur ssh.
ssh [port] user@id
4.4.L’agent ssh
Pour éviter de devoir rentrer la paraphase (si elle n’est pas vide) à chaque connexion, il est possible de lancer le daemon ssh sur le poste client. Cet agent va collecter votre clé privé et la garder au chaud durant toute la durée de votre session. Pour le lancer, il suffit de lancer la commande ssh-add qui vous demandera votre paraphrase et ensuite connectez vous au serveur autant de fois que nécessaire.
4.5.Copie de fichiers sécurisée
Le protocole SCP permet de transférer des données en utilisant le protocole SSH pour l’authenticiation du client.
La forme la plus de cette commande est la suivante :
scp Fichier login@serveur:Chemin








Salut ,
Merci pour toutes vos explications sur ce sujet , Bonne continuation !!
@++