La phrase secrète qui peut être définie sur la clé privée n'est pas liée au serveur SSH ou à la connexion à celui-ci. La définition d'une phrase secrète pour la clé privée n'est qu'une mesure de sécurité que le propriétaire de la clé peut prendre afin d'empêcher l'accès à son shell distant par un tiers en cas de vol de la clé privée.
Malheureusement, vous ne pouvez pas forcer les utilisateurs à sécuriser leurs clés privées avec des mots de passe. Parfois, des clés privées non protégées sont nécessaires pour automatiser l'accès au serveur SSH distant. Une bonne habitude que je recommande fortement dans de tels cas est de conseiller aux utilisateurs de hacher le fichier known_hosts (stocké dans ~ / .ssh / known_hosts ), qui conserve les informations sur les hôtes distants auxquels l'utilisateur se connecte, en utilisant la commande suivante:
ssh-keygen -H -f ~/.ssh/known_hosts
De cette façon, même si un tiers accédait à une clé privée non protégée, il serait extrêmement difficile de savoir pour quels hôtes distants cette clé est valide. Bien sûr, l'effacement de l'historique du shell est obligatoire pour que cette technique ait une valeur quelconque.
En outre, une autre chose que vous devez toujours garder à l'esprit est de ne pas autoriser root à se connecter à distance en ajoutant les éléments suivants dans la configuration de votre serveur SSH (sshd_config):
PermitRootLogin no
D'un autre côté, si vous souhaitez empêcher les utilisateurs d'utiliser des clés pour s'authentifier, mais à la place utiliser des mots de passe, vous devez ajouter ce qui suit à votre sshd_config :
PasswordAuthentication yes
PubkeyAuthentication no