SSH (« Secure SHell ») est un protocole de communication sécurisé. Il permet, entre autres, de se connecter à un hôte à distance de façon sécurisée sur un réseau.
La partie serveur permet à des hôtes distants de se connecter à votre système et sera installée comme suit en tant que superutilisateur :
# apt install openssh-server
Puis on active et on démarre le service SSH :
# systemctl enable ssh
puis
# systemctl start ssh
Les principaux fichiers de configuration sont dans le répertoire /etc/ssh :
Dans le fichier de configuration, nous autorisons le compte root à se connecter en SSH. Nous décommentons PermitRootLogin » et remplacer la valeur par défaut à yes :
PermitRootLogin yes
Nous pouvons changer le port d'écoute (22 par défaut): par celui de notre choix toujours dans le même fichier.
Pour redémarrer le service SSH :
# systemctl restart ssh
Pour restreindre l'accès à un ou plusieurs utilisateurs, ajouter à la suite de la configuration :
AllowUsers nom_utilisateur
Dans le cas ou il y'a plusieurs comptes, il suffit de les séparer par un espace :
AllowUsers nom_utilisateur1 nom_utilisateur2
Pour se connecter :
ssh user@ip_server port
Se connecter sans mots de passe (Sécurisé avec clé publique) Se connecter en SSH est très pratique mais à chaque fois devoir saisir le mot de passe peut vite nous faire perdre beaucoup de temps. Il est possible de se connecter en SSH sans mot de passe avec une clé publique.
Pour activer l’authentification avec une clé publique dans SSH, il faut éditer le fichier de configuration du serveur SSH :
# nano /etc/ssh/sshd_config
Ensuite il faut modifier la ligne PubkeyAuthentication, en retirant le commentaire et en mettant comme valeur yes :
PubkeyAuthentication yes
Puis redémarrer le service SSH :
# systemctl restart ssh
Pour générer la clé publique, depuis la machine qui va se connecter sur le serveur, il faut saisir une commande dans un terminal qui va générer la paire de clé.
La commande va vous demander si vous souhaitez renommer le fichier qui contiendra la clé, mais c’est facultatif. Elle va aussi vous demander si vous souhaitez ajouter une passphrase qui est également facultative :
ssh-keygen -t rsa
Pour pouvoir se connecter sur le serveur sans identifiant, il faut lui transmettre une clé. Pour ceci, nous entrons la commande suivante :
ssh-copy-id utilisateur@ip-serveur
Il est désormais possible de se connecter sur la machine sans mot de passe avec la commande :
ssh utilisateur@ip-serveur