Android

Comment configurer les clés ssh sur debian 9

Installer Debian 9 avec un serveur ssh

Installer Debian 9 avec un serveur ssh

Table des matières:

Anonim

Secure Shell (SSH) est un protocole de réseau cryptographique utilisé pour une connexion sécurisée entre un client et un serveur et prend en charge divers mécanismes d'authentification.

Les deux mécanismes les plus populaires sont l'authentification par mot de passe et par clé publique. L'utilisation de clés SSH est plus sûre et plus pratique que l'authentification par mot de passe traditionnelle.

Dans ce tutoriel, nous décrirons comment générer des clés SSH sur les systèmes Debian 9. Nous vous montrerons également comment configurer une authentification basée sur une clé SSH et vous connecter à vos serveurs Linux distants sans entrer de mot de passe.

Créer des clés SSH sur Debian

Avant de générer une nouvelle paire de clés SSH, vérifiez les clés SSH existantes sur votre machine client Debian. Vous pouvez le faire en exécutant la commande ls suivante:

ls -l ~/.ssh/id_*.pub

Si la sortie de la commande ci-dessus contient quelque chose comme No such file or directory ou no matches found cela signifie que vous n'avez pas de clés SSH, et vous pouvez passer à l'étape suivante et générer une nouvelle paire de clés SSH.

S'il existe des clés existantes, vous pouvez soit les utiliser et ignorer l'étape suivante, soit sauvegarder les anciennes clés et en générer de nouvelles.

Commencez par générer une nouvelle paire de clés SSH de 4096 bits avec votre adresse e-mail en tant que commentaire à l'aide de la commande suivante:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

La sortie ressemblera à ce qui suit:

Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):

Appuyez sur Enter pour accepter l'emplacement et le nom de fichier par défaut.

Ensuite, vous serez invité à saisir une phrase secrète sécurisée. Que vous souhaitiez utiliser la phrase secrète, c'est à vous de décider. Avec la phrase secrète, une couche de sécurité supplémentaire est ajoutée à votre clé.

Enter passphrase (empty for no passphrase):

L'ensemble de l'interaction ressemble à ceci:

Pour vérifier que la paire de clés SSH a été générée, tapez:

ls ~/.ssh/id_*

La sortie devrait ressembler à ceci:

/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub

Copiez la clé publique sur le serveur

Maintenant que vous avez votre paire de clés SSH, l'étape suivante consiste à copier la clé publique sur le serveur que vous souhaitez gérer.

La façon la plus simple et recommandée de copier la clé publique sur le serveur distant consiste à utiliser l'outil ssh-copy-id .

Sur votre terminal d'ordinateur local, réglez la commande suivante:

ssh-copy-id remote_username@server_ip_address

Vous serez invité à saisir le mot de passe remote_username :

remote_username@server_ip_address's password:

Une fois l'utilisateur authentifié, la clé publique ~/.ssh/id_rsa.pub sera ajoutée au fichier de l'utilisateur distant ~/.ssh/authorized_keys , et la connexion sera fermée.

Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'username@server_ip_address'" and check to make sure that only the key(s) you wanted were added.

Si l'utilitaire ssh-copy-id n'est pas disponible sur votre ordinateur local, vous pouvez utiliser la commande suivante pour copier la clé publique:

cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

Connectez-vous au serveur à l'aide des clés SSH

À ce stade, vous devriez pouvoir vous connecter au serveur distant sans être invité à saisir un mot de passe.

Pour le tester, essayez de vous connecter au serveur via SSH:

ssh remote_username@server_ip_address

Désactivation de l'authentification par mot de passe SSH

Pour ajouter une couche de sécurité supplémentaire à votre serveur, vous pouvez désactiver l'authentification par mot de passe pour SSH.

Avant de désactiver l'authentification par mot de passe SSH, assurez-vous que vous pouvez vous connecter à votre serveur sans mot de passe et que l'utilisateur avec lequel vous vous connectez dispose des privilèges sudo.

Connectez-vous à votre serveur distant:

ssh sudo_user@server_ip_address

Ouvrez le fichier de configuration SSH /etc/ssh/sshd_config :

sudo nano /etc/ssh/sshd_config

Recherchez les directives suivantes et modifiez-les comme suit:

/ etc / ssh / sshd_config

PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no

Une fois que vous avez terminé, enregistrez le fichier et redémarrez le service SSH à l'aide de la commande suivante:

sudo systemctl restart ssh

À ce stade, l'authentification par mot de passe est désactivée.

Conclusion

Dans ce didacticiel, vous avez appris à générer une nouvelle paire de clés SSH et à configurer une authentification basée sur les clés SSH. Vous pouvez ajouter la même clé à plusieurs serveurs distants.

Nous vous avons également montré comment désactiver l'authentification par mot de passe SSH et ajouter une couche de sécurité supplémentaire à votre serveur.

Par défaut, SSH écoute sur le port 22. La modification du port SSH par défaut réduit le risque d'attaques automatisées.

sécurité debian ssh