doganddev
Accueil Blog Boutique

Utiliser SSH sous Linux : bonnes pratiques

DOG&DEV · 25/01/2025

Mises à Jour Bases de Données Sécurité Linux SSH
Utiliser SSH sous Linux : bonnes pratiques

Utiliser SSH sous Linux : bonnes pratiques

Pour administrer un serveur en SSH de façon sûre, l’authentification par clés et quelques habitudes (clés dédiées, scp/rsync, désactivation du mot de passe) limitent les risques. Ce guide complète ssh-linux (installation du serveur) en se concentrant sur l’utilisation côté client.

Prérequis

  • Serveur avec OpenSSH installé et opérationnel (ssh-linux)
  • Accès client (Linux, macOS, WSL) avec ssh, ssh-keygen, scp, rsync

Générer une paire de clés

Sur votre machine (client) :

ssh-keygen -t ed25519 -C "votre@email"
  • Fichier : accepter ~/.ssh/id_ed25519 ou choisir un chemin (ex. ~/.ssh/serveur_prod).
  • Passphrase : recommandée pour protéger la clé en cas de vol du fichier.

Alternatives : -t rsa -b 4096 si Ed25519 n’est pas supporté.

Installer la clé publique sur le serveur

Méthode 1 : ssh-copy-id

ssh-copy-id -i ~/.ssh/id_ed25519.pub utilisateur@IP_du_serveur

Si le port est différent :

ssh-copy-id -i ~/.ssh/id_ed25519.pub -p 2222 utilisateur@IP_du_serveur

Méthode 2 : manuelle

Sur le serveur, dans ~/.ssh/ de l’utilisateur cible :

mkdir -p ~/.ssh
chmod 700 ~/.ssh
echo "contenu_de_la_cle_publique" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

Connexion avec une clé (ssh -i)

Si la clé n’est pas celle par défaut (id_ed25519, id_rsa) :

ssh -i ~/.ssh/serveur_prod utilisateur@IP_du_serveur

Avec un port personnalisé :

ssh -i ~/.ssh/serveur_prod -p 2222 utilisateur@IP_du_serveur

Pour éviter de préciser -i à chaque fois, configurez ~/.ssh/config :

Host mon-serveur
    HostName 192.0.2.10
    User admin
    Port 2222
    IdentityFile ~/.ssh/serveur_prod

Puis : ssh mon-serveur.

Copie de fichiers : scp et rsync

scp :

# Envoyer un fichier
scp -P 2222 fichier.local utilisateur@IP:/chemin/distant/

# Envoyer un dossier
scp -r -P 2222 dossier/ utilisateur@IP:/chemin/distant/

# Récupérer
scp -P 2222 utilisateur@IP:/chemin/distant/fichier ./

rsync (pratique pour sauvegardes et déploiements) :

rsync -avz -e "ssh -p 2222" dossier/ utilisateur@IP:/chemin/distant/
  • -a : archive (permissions, dates)
  • -v : verbeux
  • -z : compression

Désactiver l’authentification par mot de passe

Une fois les clés testées et opérationnelles sur le serveur, éditez /etc/ssh/sshd_config :

PasswordAuthentication no

Puis :

sudo sshd -t
sudo systemctl restart ssh

Conservez un accès de secours (console KVM, VNC) au cas où les clés poseraient problème.

Dépannage

Symptôme Cause possible Correctif
« Permission denied (publickey) » Clé non installée, mauvais chemin, droits authorized_keys Vérifier authorized_keys (contenu, chmod 600), ~/.ssh chmod 700 ; ssh -v pour le détail
« Host key verification failed » Clé d’hôte changée (réinstall, changement de serveur) Supprimer l’ancienne entrée dans ~/.ssh/known_hosts pour cette IP ; vérifier que c’est bien le bon serveur
Passphrase à chaque connexion Agent SSH non utilisé eval $(ssh-agent) puis ssh-add ~/.ssh/ma_cle

Bonnes pratiques

  • Utiliser une clé par usage (prod, staging, perso) et ne pas réutiliser la même partout.
  • Protéger les clés par passphrase et, si possible, un agent (ssh-add).
  • Ne jamais partager la clé privée ; seule la publique va sur les serveurs.
  • Pour la sécurisation globale du VPS : how-to-secure-vps ; pour l’installation du serveur SSH : ssh-linux.

Ressources


Cet article s’inscrit dans notre série de guides hébergement et gaming. Pour un serveur sur-mesure, contact.

Commentaires (0)

Laisser un commentaire