Comment activer les connexions SSH Entrée sans mot de passe sous Linux

C'est une bonne idée d'enregistrer Entrée sur votre serveur SSH sans mot de passe. Sérieusement, débarrassez-vous en. Il n'est pas nécessaire d'utiliser un mot de passe sur l'un des services les plus attaqués sur les serveurs Linux, n'est-ce pas ? Préparer Sécuriser le serveur SSH L'utilisation d'une authentification standard basée sur un mot de passe est une mauvaise idée. Les mots de passe peuvent être facilement déchiffrés par les attaquants, et lorsqu'ils sont la seule chose qui se dresse entre le mauvais acteur et votre serveur, vous devriez certainement vous sentir nerveux. C'est pourquoi l'authentification basée sur la clé RSA est tellement meilleure. Vous pouvez configurer et sécuriser votre serveur Linux pour autoriser l'accès uniquement à partir d'ordinateurs dont les clés RSA ont déjà été acceptées. Tous les autres seront rejetés immédiatement. En prime, vous pouvez générer ces clés avec ou sans mot de passe, cela dépend entièrement de vous. Malgré cela, une clé forte sans mot de passe est une bonne chose dans la plupart des cas. Dans ce guide, nous vous expliquerons comment activer les connexions SSH Entrée sans mot de passe sous Linux.

Comment activer les connexions d'entrée SSH sans mot de passe sous Linux - %categories

Si vous utilisez également des machines Linux à la maison, vous avez l'avantage supplémentaire de la commodité. Supposons que vous souhaitiez configurer le transfert SSH X de votre poste de travail Linux vers votre ordinateur portable. Voulez-vous vraiment entrer votre mot de passe à chaque fois que vous lancez un programme à distance ? Configurez des clés SSH, vous n'en aurez pas besoin.

Installer les packs

Il y a des forfaits dont vous avez besoin. Vous en avez probablement déjà quelques-uns, mais c'est une bonne idée de les vérifier. Les packages sont les mêmes sur le serveur et le client. Cependant, il y a aussi de fortes chances que les deux machines soient les serveurs et les clients de l'autre (état d'origine), vous voudrez peut-être vous assurer que ces packages sont installés.

Le méta-paquet OpenSSH n'est pas installé par défaut sur les autres systèmes Debian ou Ubuntu. Si vous ne l'avez pas déjà installé, vous pouvez le faire en exécutant la commande suivante :

sudo apt installer ssh

Comment activer les connexions d'entrée SSH sans mot de passe sous Linux - %categories

Créez votre propre clé SSH sous Linux

C'est vraiment facile Générer une clé SSH sous Linux. Dites simplement à OpenSSH que vous devez générer la clé. C'est aussi une bonne idée de spécifier le nombre de bits avec le drapeau -b et le type avec -t. Une clé de 4096 bits est préférable, car elle fournit un cryptage plus fort.

ssh-keygen-t ed25519

Tout d'abord, l'outil vous demandera où vous souhaitez stocker la clé. Cliquez simplement sur Entrer au répertoire par défaut. Lorsqu'il demande un mot de passe, laissez-le vide pour une clé sans mot de passe et une authentification sans mot de passe. Si vous souhaitez utiliser un mot de passe pour votre clé, saisissez-le ici.

Lisez aussi:  Comment créer un navigateur Web personnalisé avec Nyxt

Il faudra quelques secondes à votre ordinateur pour générer votre clé. Lorsque vous avez terminé, il imprimera une représentation graphique ASCII de votre clé sur l'appareil.

Envoyez votre clé à l'hôte Linux distant

Pour utiliser votre clé, vous devrez l'envoyer à votre serveur distant. OpenSSH a également un autre outil intégré pour cela. Dites-lui où se trouve votre clé et à quel utilisateur du serveur l'associer.

ssh-copy-id -i ~/.ssh/id_ed25519.pub nom d'utilisateur@ip_remote_host

Remplacer ip_remote_host Avec l'adresse IP réelle de l'hôte distant, que vous gérerez via SSH. Remplacez Nom d'utilisateur par le Nom d'utilisateur réel sur l'hôte distant.

Comment activer les connexions d'entrée SSH sans mot de passe sous Linux - %categories

Il est nécessaire que vous utilisiez l'option -i pour spécifier le fichier d'identité qui contient votre clé publique. Si vous essayez d'utiliser une clé SSH sans cette option, vous risquez d'obtenir une erreur.

Comment activer les connexions d'entrée SSH sans mot de passe sous Linux - %categories

Testez votre connexion SSH sous Linux

Avec la clé SSH sur le serveur distant, vous pouvez maintenant tester si votre connexion fonctionne correctement.

Enregistrez Entrée avec la commande suivante :

ssh nom_utilisateur@ip_remote_host

L'hôte distant vous connectera sans demander le mot de passe du compte utilisateur.

Comment activer les connexions d'entrée SSH sans mot de passe sous Linux - %categories

Cependant, si vous faites une erreur au cours du processus, le démon SSH reviendra automatiquement à l'authentification par mot de passe pour votre compte utilisateur. Cela vous permet de continuer à accéder à votre serveur distant même si vous avez une clé RSA qui ne fonctionne pas.

Comment activer les connexions d'entrée SSH sans mot de passe sous Linux - %categories

Configurer SSH pour bloquer les mots de passe

Pour une meilleure protection, vous devez désactiver les connexions Entrée avec mot de passe SSH sur votre serveur Linux. Semblable à l'activation de l'authentification à deux facteurs dans SSH, cela empêche quelqu'un de forcer l'accès à votre serveur.

Comment activer les connexions d'entrée SSH sans mot de passe sous Linux - %categories

Il est important de vous assurer que vous pouvez enregistrer de manière fiable l'entrée avec votre clé SSH avant de le faire, car il est possible de vous verrouiller sur le serveur distant si vous avez une clé cassée.

Lisez aussi:  Comment mettre à jour Fedora Linux

Vous pouvez trouver un fichier de configuration Démon SSH votre fichier dans « /etc/ssh /sshd_config". Ouvrez le fichier sur le serveur avec sudo et votre éditeur de texte préféré. Par exemple, ouvrez ce fichier avec nano en exécutant la commande suivante :

sudo nano / etc / ssh / sshd_config

Retrouvez les lignes ci-dessous en cliquant sur Ctrl + W et modifiez-le pour qu'il ressemble à l'exemple. Décommentez les deux entrées et modifiez les valeurs en Non

Mot de passe

PasswordAuthentication non PermitEmptyPasswords non

Comment activer les connexions d'entrée SSH sans mot de passe sous Linux - %categories

Détermine Mot de passeAuthentification S'il faut utiliser l'authentification par mot de passe. Nous avons mis cela sur "Non" Parce que nous ne voulons utiliser que des clés SSH.

Détermine Autoriser les mots de passe vides Indique si le serveur autorise l'enregistrement d'Entrée avec un mot de passe vide. Vous ne devriez jamais autoriser cela, nous l'avons donc défini sur "Non".

Comment activer les connexions d'entrée SSH sans mot de passe sous Linux - %categories

Ensuite, trouvez la ligne "UsePAM" et changez-la en "Non". Cela empêchera le démon d'utiliser des méthodes d'authentification (mot de passe, Kerberos, etc.) autres que les clés SSH.

UtiliserPAM non

Comment activer les connexions d'entrée SSH sans mot de passe sous Linux - %categories

Enregistrez le fichier en cliquant sur Ctrl + O , Alors Ctrl + X et recharger Serveur SSH.

sudo systemctl redémarrer ssh

Maintenant que vous avez configuré avec succès votre serveur pour utiliser uniquement les clés SSH pour l'authentification, toute personne essayant d'enregistrer une entrée sans clé RSA valide sera immédiatement refusée.

Comment activer les connexions d'entrée SSH sans mot de passe sous Linux - %categories

Foire Aux Questions

Q 1. Je reçois un message "connexion refusée" lorsque j'envoie une clé SSH à mon serveur Linux. Comment puis-je résoudre ce problème?
réponse. Assurez-vous que le serveur SSH est en cours d'exécution sur l'hôte distant. Vous pouvez vérifier cela en exécutant sudo systemctl status ssh. Si le service n'est pas en cours d'exécution, vous pouvez le démarrer avec cette commande : sudo systemctl start ssh.

Si un pare-feu est en cours d'exécution sur le serveur, assurez-vous que le port 22 est ouvert. Vous pouvez le faire en exécutant sudo ufw state. Si SSH n'est pas répertorié, vous pouvez l'activer en exécutant cette commande : sudo ufw allow ssh.

Q2. J'obtiens l'erreur « Autorisation refusée (clé publique) » lorsque j'essaie d'enregistrer une entrée. Que fais-je?
réponse. Cette erreur signifie que vous avez configuré votre serveur pour utiliser des clés d'authentification, mais vous essayez toujours d'enregistrer votre entrée avec un mot de passe. Cela peut être dû à une clé RSA manquante ou à une configuration SSH incorrecte. Assurez-vous que votre clé publique est correctement copiée sur le serveur et que vous spécifiez la bonne clé publique lors de la connexion.

Lisez aussi:  Comment installer et configurer PipeWire sous Linux

Q3. J'obtiens le message d'erreur "Échec de la vérification de la clé de l'hôte" lorsque j'essaie de me connecter. Comment puis-je résoudre ce problème?
réponse. Cette erreur signifie que la clé d'hôte du serveur SSH a changé. Cela peut se produire si le serveur a été réinstallé. Vous pouvez régénérer une nouvelle clé publique et la copier sur l'hôte distant. Répétez les étapes de cet article pour régénérer et ajouter la nouvelle clé au serveur.

Q4. Est-il possible d'utiliser plusieurs clés SSH sur le même serveur Linux distant ?
réponse. oui. Vous pouvez utiliser l'option -f dans OpenSSH pour spécifier la clé exacte que vous souhaitez utiliser pour vous connecter à un serveur distant. Par exemple, exécutez

 ssh -f ~/.ssh/id_rsa_2 username@remote_ip_address

Cela vous connectera à votre serveur distant en utilisant la clé "id_rsa_2" au lieu de la valeur par défaut "id_rsa".

Cependant, il est important de noter que cette commande ne fonctionnera que si le serveur distant connaît déjà votre nouvelle clé. Vous devez d'abord le copier sur votre serveur distant en utilisant ssh-copy-id. Semblable aux étapes ci-dessus, vous pouvez le faire via une authentification par mot de passe ou par clé RSA.

Q 5. J'obtiens une erreur d'autorisation refusée lorsque j'essaie de copier ma clé SSH sur mon serveur.
réponse. Ce problème est probablement dû à un problème d'autorisations sur votre serveur distant. Dans la plupart des cas, l'utilitaire ssh-copy-id devrait résoudre correctement tous les problèmes d'accès une fois qu'il se connecte à votre serveur distant. Cependant, il existe des cas où cette fonctionnalité est bloquée et ne parvient pas à copier correctement "id_rsa" sur votre ordinateur local.

Pour résoudre ce problème, enregistrez Entrée sur le serveur distant et exécutez

 chmod 700 /home/$USER/.ssh/* && chmod 600 /home/$USER/.ssh.

Cela définira les bits d'autorisation corrects pour le dossier ".ssh" et son contenu.

Vous pourriez l'aimer aussi