Guide SSH - Connexion Sécurisée aux Serveurs
Connexion de Base
Première connexion
ssh debian@demo.owlsystems.fr
Avec un port personnalisé
ssh -p 2222 debian@demo.owlsystems.fr
Gestion des Clés SSH
Générer une paire de clés
# Clé ED25519 (recommandée)
ssh-keygen -t ed25519 -C "votre_email@owlsystems.fr" -f ~/.ssh/id_ed25519_demo
# Ou RSA (compatibilité)
ssh-keygen -t rsa -b 4096 -C "votre_email@owlsystems.fr" -f ~/.ssh/id_rsa_demo
Copier la clé publique sur le serveur
ssh-copy-id -i ~/.ssh/id_ed25519_demo.pub debian@demo.owlsystems.fr
Méthode manuelle
# Copier le contenu de la clé publique
cat ~/.ssh/id_ed25519_demo.pub
# Sur le serveur, ajouter à authorized_keys
mkdir -p ~/.ssh
echo "votre_clé_publique" >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Configuration Client SSH
Fichier ~/.ssh/config
Host demo
HostName demo.owlsystems.fr
User debian
Port 22
IdentityFile ~/.ssh/id_ed25519_demo
IdentitiesOnly yes
Host demo-alt
HostName demo.owlsystems.fr
User debian
Port 2222
IdentityFile ~/.ssh/id_rsa_demo
Utilisation avec la config
ssh demo # Utilise la configuration du Host "demo"
Gestion des Erreurs Courantes
"WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!"
Cette erreur se produit quand la clé d'hôte du serveur a changé.
Causes possibles :
- Réinstallation du serveur
- Changement de configuration SSH
- Attaque MITM (man-in-the-middle)
Solution sécurisée :
# Supprimer l'entrée problématique
ssh-keygen -R demo.owlsystems.fr
# Ou supprimer manuellement la ligne dans ~/.ssh/known_hosts
Réaccepter la nouvelle clé :
ssh -o StrictHostKeyChecking=accept-new debian@demo.owlsystems.fr
Vérifier l'empreinte de la clé
# Sur le serveur, voir l'empreinte actuelle
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
# Comparer avec ce que votre client voit
ssh-keygen -lf <(ssh-keyscan demo.owlsystems.fr 2>/dev/null)
Sécurisation du Serveur
Configuration SSH serveur (/etc/ssh/sshd_config)
# Désactiver l'authentification par mot de passe
PasswordAuthentication no
# Limiter les utilisateurs autorisés
AllowUsers debian
# Désactiver la root connexion
PermitRootLogin no
# Temps d'inactivité
ClientAliveInterval 300
ClientAliveCountMax 2
# Port personnalisé (optionnel)
Port 2222
Redémarrer le service SSH
sudo systemctl restart ssh
sudo systemctl status ssh
Dépannage Avancé
Debuguer une connexion SSH
ssh -vvv debian@demo.owlsystems.fr
Vérifier les logs serveur
# Sur le serveur
sudo tail -f /var/log/auth.log
# Filtrer les connexions SSH
sudo grep sshd /var/log/auth.log | tail -20
Problèmes de permissions
# Sur le serveur, vérifier les permissions
ls -la ~/.ssh/
# Doit être : drwx------ (700)
ls -la ~/.ssh/authorized_keys
# Doit être : -rw------- (600)
Bonnes Pratiques de Sécurité
- Utiliser ED25519 pour les nouvelles clés
- Protéger les clés privées avec des permissions 600
- Utiliser un passphrase pour les clés sensibles
- Désactiver l'authentification par mot de passe
- Limiter les utilisateurs SSH autorisés
- Surveiller les logs d'authentification
- Changer les clés régulièrement
Commandes Utiles
Lister les clés connues
ssh-keygen -l -f ~/.ssh/known_hosts
Tester la connexion sans exécuter de commande
ssh -T debian@demo.owlsystems.fr
Se connecter avec une clé spécifique
ssh -i ~/.ssh/ma_cle_specifique debian@demo.owlsystems.fr
En Cas de Problème
- Vérifier la connectivité réseau :
ping demo.owlsystems.fr
- Vérifier le port SSH :
telnet demo.owlsystems.fr 22
- Consulter les logs :
sudo journalctl -u ssh -f
- Tester en mode debug :
ssh -vvv
Cette configuration assure des connexions SSH sécurisées et fiables vers vos serveurs Debian.