Aller au contenu

SSH : installation sur Ubuntu

SSH (Secure Shell) permet de se connecter à un serveur et d’y exécuter des commandes de façon chiffrée. Ce guide présente OpenSSH sur Ubuntu 24.04 et 26.04. Les exemples utilisent des noms génériques (serveur.exemple.com, deploy).

Ubuntu OpenSSH
24.04 9.6
26.04 10.2

Les images Ubuntu Server installent déjà le serveur SSH. Sinon :

Fenêtre de terminal
sudo apt update
sudo apt install openssh-server
ssh -V
sudo systemctl status ssh

Le client (ssh, scp, sftp) est fourni par openssh-client, installé par défaut.

Sur Ubuntu, SSH démarre à la demande : c’est ssh.socket qui écoute sur le port 22, et ssh.service est lancé à la première connexion.

Fenêtre de terminal
systemctl is-enabled ssh ssh.socket # ssh : disabled, ssh.socket : enabled (comportement normal)
sudo systemctl status ssh.socket
sudo systemctl reload ssh # recharge sshd_config sans couper les sessions
sudo ss -tlnp | grep ':22' # processus en écoute

Conséquence : changer le port dans sshd_config ne suffit pas (voir Durcissement du serveur).

Fenêtre de terminal
sudo ufw allow OpenSSH
sudo ufw status

Autoriser SSH avant d’activer le pare-feu, pour ne pas se verrouiller hors du serveur (voir Pare-feu : prise en main d’UFW).

Fenêtre de terminal
ssh deploy@serveur.exemple.com

À la première connexion, SSH affiche l’empreinte de la clé du serveur :

The authenticity of host 'serveur.exemple.com (203.0.113.10)' can't be established.
ED25519 key fingerprint is SHA256:Ig72RFsAaD5nb+2ALRkZrNYtSNeW66TkOTdwkFVMcT0.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

Comparer cette empreinte avec celle du serveur, affichée depuis une autre voie (console de l’hébergeur) :

Fenêtre de terminal
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub

Répondre yes seulement si elles sont identiques : elle est alors enregistrée dans ~/.ssh/known_hosts, et SSH avertira si elle change (voir Dépannage).

Fenêtre de terminal
ssh deploy@serveur.exemple.com # shell interactif
ssh deploy@serveur.exemple.com "uptime" # une commande, puis déconnexion
ssh -p 2222 deploy@serveur.exemple.com # port différent
ssh -i ~/.ssh/id_ed25519 deploy@serveur.exemple.com # clé précise
exit # ou Ctrl+d : quitte la session

Pour utiliser ensuite une clé plutôt qu’un mot de passe : voir Clés SSH.

Élément Emplacement
Configuration du serveur /etc/ssh/sshd_config et /etc/ssh/sshd_config.d/*.conf
Configuration globale du client /etc/ssh/ssh_config et /etc/ssh/ssh_config.d/*.conf
Clés d’hôte du serveur /etc/ssh/ssh_host_*_key (privées) et .pub (publiques)
Clés de l’utilisateur ~/.ssh/id_ed25519 (privée) et id_ed25519.pub
Clés autorisées à se connecter ~/.ssh/authorized_keys
Serveurs déjà rencontrés ~/.ssh/known_hosts
Configuration personnelle du client ~/.ssh/config
Fenêtre de terminal
sudo journalctl -u ssh -n 50 --no-pager # connexions et échecs
sudo journalctl -u ssh -f
last -n 10 # dernières connexions réussies
sudo lastb -n 10 # dernières tentatives échouées
Fenêtre de terminal
sudo apt update && sudo apt upgrade # correctifs de sécurité
sudo systemctl restart ssh # après une mise à jour d'OpenSSH
Fenêtre de terminal
sudo apt purge openssh-server
sudo apt autoremove
Symptôme Piste
Connection refused Service arrêté (systemctl status ssh.socket), mauvais port, ou pare-feu
Connection timed out Adresse incorrecte, ou pare-feu (UFW, hébergeur) qui ignore le port
Permission denied (publickey) Voir Clés SSH et Dépannage
REMOTE HOST IDENTIFICATION HAS CHANGED Voir Dépannage : ne pas ignorer l’avertissement sans vérifier

Ubuntu 24.04 et 26.04 : différences à connaître

Section intitulée « Ubuntu 24.04 et 26.04 : différences à connaître »

L’installation est identique. Les changements de version portent sur le comportement d’OpenSSH.