Se connecter en SSH sur Linux : la méthode étape par étape

se connecter en ssh linux
Sommaire

Le terminal s’ouvre et le pouls s’accélère. Se connecter en SSH est une compétence essentielle pour administrer des serveurs, transférer des fichiers ou automatiser des tâches à distance. Cet article explique pas à pas comment utiliser un client SSH depuis Linux, macOS ou Windows, comment préparer le serveur, et comment diagnostiquer les erreurs courantes. Les exemples de commandes fournis sont immédiatement réutilisables et accompagnés de conseils de sécurité indispensables.

Prérequis clients et génération de clés

La plupart des distributions Linux et macOS incluent OpenSSH en standard. Sous Windows, PowerShell moderne intègre un client OpenSSH et PuTTY reste une alternative populaire (format .ppk). Pour une authentification robuste, générez une paire de clés : ssh-keygen -t ed25519 -C « votre[email protected] ». La clé privée doit rester sur votre poste et avoir des permissions strictes, chmod 600 ~/.ssh/ided25519. La clé publique, ided25519.pub, est copiée sur le serveur dans ~/.ssh/authorizedkeys pour l’utilisateur cible.

Commandes clients utiles et exemples

Commandes de base : ssh [email protected] pour une connexion simple. Pour un port non standard : ssh -p 2222 utilisateur@hote. Pour indiquer explicitement une clé privée : ssh -i ~/.ssh/ided25519 utilisateur@hote. Si vous utilisez un agent local, ajoutez la clé avec ssh-add ~/.ssh/ided25519 puis lancez ssh utilisateur@hote sans -i. Pour copier une clé publique facilement : ssh-copy-id -i ~/.ssh/ided25519.pub utilisateur@hote. Pour transférer un fichier : scp fichier.txt utilisateur@hote:/chemin/.

Checklist avant la première connexion

  • Vérifier la résolution DNS ou atteindre l’adresse IP du serveur par ping.
  • Confirmer que l’utilisateur distant existe et a un shell valide dans /etc/passwd.
  • S’assurer que le port SSH (22 ou personnalisé) est ouvert côté serveur et routeur/firewall.
  • La clé privée a les bonnes permissions (600) et la clé publique est dans ~/.ssh/authorizedkeys avec permissions 600 et dossier ~/.ssh en 700.

Installer et configurer OpenSSH sur le serveur

Sur Debian/Ubuntu : apt update && apt install openssh-server. Démarrage et activation : systemctl enable –now ssh. Le fichier de configuration principal est /etc/ssh/sshdconfig. Important : définir PermitRootLogin no pour interdire les connexions root directes, et préférer PasswordAuthentication no si vous utilisez uniquement les clés. Après modification : systemctl restart ssh. En cas d’activation d’un pare-feu : ufw allow 22/tcp ou ufw allow 2222/tcp selon le port choisi.

Erreurs courantes et comment les résoudre

Permission denied (publickey) : la clé publique n’est pas acceptée. Vérifiez que ~/.ssh/authorizedkeys contient bien la clé publique, que les permissions du dossier et du fichier sont strictes, et que sshd autorise l’authentification par clés. Connection refused : le service SSH n’écoute pas sur le port attendu ou un firewall bloque la connexion. Sur le serveur, ss -tlnp ou netstat -tlnp montre si sshd écoute. Host key verification failed : l’empreinte du serveur a changé, possible signe d’attaque MITM ou simple réinstallation du serveur ; supprimer l’entrée correspondante dans ~/.ssh/knownhosts puis relancer la connexion après vérification.

Diagnostics avancés

Utilisez ssh -v, ssh -vv ou ssh -vvv pour obtenir un dialogue détaillé entre client et serveur et repérer l’étape où la négociation échoue. Sur le serveur, journalctl -u ssh -e ou /var/log/auth.log apporte des informations précises sur les tentatives et les raisons de refus. Pour vérifier le pare-feu : ufw status ou firewall-cmd –list-all selon la distribution. Si SELinux est en jeu, consultez les contextes et les logs audit pour identifier des refus d’accès.

Sécurité et bonnes pratiques

Désactivez l’authentification par mot de passe quand vous employez des clés, limitez les utilisateurs autorisés avec AllowUsers ou AllowGroups, mettez en place un système de blocage automatique comme fail2ban pour réduire les tentatives de brute force, et limitez l’accès par IP si possible. Utilisez des clés ed25519 ou RSA 4096 bits, protégez la clé privée par une passphrase et utilisez ssh-agent pour ne pas retaper la passphrase à chaque session. Sauvegardez les clés de déverrouillage dans un gestionnaire de mots de passe sécurisé.

Conseils pratiques pour tester en local

Avant de toucher un serveur de production, créez une machine virtuelle locale (VirtualBox, Multipass, LXC) et entraînez-vous aux commandes d’administration, aux changements de sshdconfig et au dépannage. Ainsi vous apprendrez à lire les logs, redémarrer le service sans couper l’accès, et restaurer une configuration fonctionnelle si un changement empêche les connexions.

Avec ces étapes et commandes, la plupart des connexions SSH réussissent en quelques minutes et les problèmes courants se diagnostiquent rapidement. Pratiquez sur une VM, sécurisez vos clés et automatisez les sauvegardes : le protocole SSH deviendra alors un outil fiable et sûr pour administrer vos systèmes à distance.

Nous répondons à vos questions

Comment se connecter en SSH sur un serveur Linux ?

Ouvrez un terminal Xterm ou autre, c’est là que ça commence. Tapez ssh root@< IP-ADRESSE DU SERVEUR > et observez, la première fois, l’invite qui demande d’ajouter la clé du serveur, parfois on répond yes, parfois on hésite, normal. Entrez ensuite votre mot de passe, et hop, session ouverte. Si ça bloque, vérifiez que le service SSH tourne, que le port n’est pas filtré par un parefeu, et que l’utilisateur root est autorisé. Petit conseil pratique, conservez la commande et la clé dans un gestionnaire, parce que répéter les mêmes saisies, c’est vite le bazar. Testez depuis un autre poste.

Comment se connecter via SSH ?

Sur Windows il faut d’abord activer le client OpenSSH, allez dans Paramètres, Applications, Fonctionnalités facultatives, cliquez Ajouter une fonctionnalité, choisissez Client OpenSSH et Installer. Si déjà présent, rien à faire. Ensuite ouvrez PowerShell ou l’Invite de commandes, tapez ssh nom_utilisateur@adresse_ip_serveur et validez. La première connexion peut demander d’ajouter la clé du serveur, répondez yes si vous faites confiance, puis saisissez le mot de passe. Astuce perso, créez une clé SSH plutôt que d’utiliser le mot de passe, c’est plus propre pour le cloud, et évite les erreurs de saisie à 3 heures du matin. Clairement, sécurité et confort sont gagnés.

Comment puis-je ouvrir le port SSH ?

Se connecter en admin, puis éditer le fichier de config, ouvrez vi /etc/ssh/sshd_config, cherchez l’entrée Port 22, changez la valeur pour un nombre entre 1024 et 65536. Petite digression, changer le port, ce n’est pas magique mais ça réduit le bruit des scans automatisés. Sauvegardez le fichier, puis redémarrez le service SSH pour prendre effet, systemctl restart ssh ou sshd selon la distro. Pensez aussi à autoriser le nouveau port dans le parefeu, et testez depuis un autre poste avant de fermer la session, sinon c’est la panique. Vérifiez que l’utilisateur peut se connecter, et tenez un plan de secours.

Comment puis-je vérifier si SSH est activé sur Linux ?

Ouvrez un terminal, si vous êtes sur Xfce cherchez l’icône Xfce Terminal, sinon utilisez votre terminal habituel. Pour vérifier l’état lancez systemctl status ssh, et lisez la sortie, active active(running) veut dire que le serveur SSH tourne. Sur certaines distributions le service s’appelle sshd, testez systemctl status sshd si systemctl status ssh ne renvoie rien. Si le service est inactif, démarrez-le avec systemctl start ssh ou systemctl start sshd, puis activez au boot avec systemctl enable. Dernier conseil, vérifiez aussi qu’aucun firewall ne bloque le port, sinon l’OS dira que tout va bien mais la connexion échoue. C’est rassurant parfois.

Sommaire