Tout utilisateur Linux soucieux de la sécurité utilisera toujours le protocole SSH lors de la connexion aux serveurs. En effet, SSH est un protocole sécurisé qui crypte les données ou les informations envoyées sur le réseau. SSH a remplacé des protocoles plus anciens et non sécurisés dans les années 90 tels que telnet et rlogin. Dans ce guide, nous examinons l'utilisation de la commande SSH avec des exemples.
Par défaut, SSH s'exécute sur le port TCP/IP 22
Vérifier si le service SSH est en cours d'exécution sur un système Linux
Si vous êtes actuellement connecté à un système Linux et que vous souhaitez vérifier si SSH est en cours d'exécution, exécutez la commande
# systemctl status sshd
Exemple de sortie
De plus, vous pouvez vérifier que ssh écoute sur le port 22 de votre serveur en utilisant le netstat
commande comme indiqué
# netstat -pnltu
Exemple de sortie
Les deux techniques ont confirmé que le protocole SSH s'exécute sur le port 22.
Se connecter à un système distant à l'aide de SSH
Pour vous connecter à un système distant en tant qu'utilisateur root à partir d'une machine Linux, utilisez la syntaxe ci-dessous :
# ssh root@host-ip-address
Par exemple, je vais me connecter à un PC Debian distant IP 173.82.208.144
# ssh [email protected]
Si vous vous connectez pour la première fois, vous verrez l'invite suivante
Tapez yes
pour ajouter le serveur à la liste des known_hosts
situé dans ~/.ssh/known_hosts
Chaque serveur se compose d'une clé d'hôte qui est une clé cryptographique. Cette clé est utilisée pour authentifier les systèmes utilisant le protocole SSH.
Ensuite, vous serez invité à entrer le mot de passe du système distant. Fournissez le mot de passe et appuyez sur "ENTRER" pour vous connecter au système.
Se connecter à un système en tant qu'utilisateur normal
Parfois, vous souhaiterez peut-être vous connecter à un système distant à l'aide d'un compte d'utilisateur normal si la connexion root à distance est désactivée. pour cela, suivez la syntaxe ci-dessous
# ssh username@host-ip-address
OU
# ssh -l username host-ip-address
Pour vous connecter en tant qu'utilisateur « john » résidant sur le système Debian distant, exécutez la commande
# ssh [email protected]
Exemple de sortie
Vous pouvez obtenir la même chose en utilisant la commande ci-dessous.
# ssh -l john 173.82.208.144
Exemple de sortie
Configuration de l'authentification sans mot de passe
Parfois, vous pouvez constamment avoir besoin d'accéder à vos systèmes distants ou vous pouvez avoir des services qui peuvent avoir besoin d'accéder à ces systèmes. L'authentification par mot de passe peut entraîner une perte de temps ou entraver l'accès aux applications automatisées qui nécessitent un accès aux systèmes distants. Pour cette raison, il est pratique de configurer une authentification SSH sans mot de passe sur vos serveurs distants.
Étape 1 :Générer des clés SSH
La première étape consistera à générer des clés SSH sur le serveur à l'aide de la commande :
# ssh-keygen
Exemple de sortie
lorsque vous y êtes invité à chaque étape, appuyez simplement sur "ENTRER" pour conserver les valeurs par défaut
La clé publique – id_rsa.pub
– est enregistré dans ~/.ssh/
répertoire
Étape 2 :copier la clé publique SSH sur le client distant
L'étape suivante consistera à copier la clé publique générée sur le système client distant. Pour ce faire, nous utiliserons le ssh-copy-id
commande . La commande copie la clé SSH sur le client distant en tant que clé autorisée. Cela permet des connexions automatisées ultérieures sans mot de passe.
# ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
Exemple de sortie
Vous pouvez maintenant vous connecter de manière transparente au système Debian distant sans être invité à entrer un mot de passe
Exemple de sortie
La clé publique est enregistrée dans le système client dans le ~/.ssh/authorized_keys
fichier.
QUELQUES POINTS À NOTER
- Les clients SSH stockent les clés d'hôte des systèmes auxquels ils sont connectés. Ces clés sont appelées
known host keys
et sont stockés dans le~/.ssh/
répertoire. - Les clés privées –
id_rsa
ne doit être accessible qu'à l'utilisateur root et ne doit pas être copié sur un système. En cas de fuite vers un autre tiers, cela peut entraîner des attaques de type "man-in-the-middle" où les systèmes clients peuvent être compromis par des pirates.