Comment désactiver l'authentification du mot de passe pour SSH

Je voudrais désactiver l'authentification par mot de passe pour SSH (Pour tous les utilisateurs) dans Linux. J'installe

PasswordAuthentication

to no - Ce fichier sshd_config, Mais alors je ne peux plus me connecter en utilisant ma clé fermée.

p.s. Je spécifie mon fichier de clé fermé lorsque vous vous connectez.
Invité:

Babette

Confirmation de:

Avant de déconnecter l'authentification par mot de passe, vous devez configurer l'authentification Ouvrir la clé et vous assurer de l'utiliser. Si vous n'avez pas encore fait cela, vous pouvez créer une paire de clés utilisant

ssh-keygen

.

Une paire de clés se compose de clés fermées et ouvertes avec

.pub

À la fin du nom du fichier. La clé publique consiste en une ligne avec un type, une clé ouverte et un commentaire. Je considère qu'il est utile de modifier le commentaire, d'allumer la création d'une paire de clés, car il n'est pas inclus dans le commentaire par défaut.

Vous devez insérer cette chaîne dans

.ssh/authorized_keys

Dans le compte, vous entrez.

Lorsqu'il est connecté au serveur avec ssh À l'avenir, vous ne serez pas demandé de vous connecter pour vous connecter. Vous pouvez être invité à entrer une phrase de code pour la clé si vous avez entré cela lors de la création. Si vous ne voulez pas que vous vous posiez une phrase de mot de passe chaque fois que vous entrez dans le système, utilisez

ssh-agent

.

Sur le serveur, vous pouvez modifier

/etc/ssh/sshd_config

Trouver

PasswordAuthentication

line Et faites-le:

PasswordAuthentication no

Sinon

PasswordAuthentication

La chaîne dans le fichier que vous devez ajouter. Le commentaire peut indiquer la valeur par défaut. Vous pouvez supprimer

#

Dans cette rangée afin que ce ne soit plus un commentaire ni ajouter

PasswordAuthentication

Ligne après commentaire.

Changer les modifications à exécuter

service ssh reload

comme root sur le serveur. Cette équipe B. Ubuntu, Il peut différer légèrement en fonction de la distribution. Je recommande d'exécuter la commande dans

screen

Session telle que

reload

Complétez, même si vous perdez la connexion au serveur lors de son lancement.

Après avoir apporté des modifications, ouvrez la nouvelle fenêtre pour exécuter une autre connexion. ssh, Pour vous assurer que la connexion fonctionne correctement. Cette étape est importante, car la coque que vous avez laissée ouverte vous donne la dernière chance de résoudre le problème si vous avez accidentellement bloqué l'accès à la coque racine sur le serveur.

Agathe

Confirmation de:

Vérifiez les droits d'accès aux fichiers et dossiers du serveur que vous souhaitez entrer. Si la résolution est trop faible, cela ne fonctionne pas.

chmod 700 ~/.ssh
chmod 600 ~/.ssh/

Blanche

Confirmation de:

Sur le serveur, désactivez l'authentification par mot de passe SSH, Déconnectez également l'entrée dans le système comme root.

La note

Avant de faire cela, assurez-vous d'avoir un utilisateur sur un serveur avec un mot de passe, sinon vous serez bloqué à partir du serveur.

$ vim /etc/ssh/sshd_config

Éditer / Ajouter les chaînes suivantes

PermitRootLogin ne pas

Aucun mot de passe d'authentification

UsePAM ne pas

UseLogin ne pas

Exécuter la commande

$ service ssh restart

Créer une nouvelle clé SSH Sur le client (Exemple)

cd ~/.ssh    
ssh-keygen -t rsa -b 4096 -C server1 -f server1

Copier la touche SSH sur le serveur

ssh-copy-id -i server1.pub username@server-ip

Utilisez une nouvelle clé pour vous connecter au serveur

vim ~/.ssh/config

Ajouter les chaînes suivantes

Host ip-of-server
User yourUsername
IdentifyFile /home/yourUsername/.ssh/server1

Connecter au serveur

ssh server-ip

Pour répondre aux questions, connectez-vous ou registre