Lors de la première connexion à un serveur, comment puis-je forcer SSH à me donner la clé RSA et à la stocker automatiquement si l'utilisateur l'approuve?
Actuellement, il me propose la clé ECDSA. Parce que je connais déjà la clé RSA, je préférerais voir la clé RSA présentée à ce stade.
J'ai essayé:
ssh -o RSAAuthentication=yes user@server
Malheureusement, cela me donne une clé ECDSA et le Are you sure you want to continue connecting (yes/no)?
message.
Réponses:
En supprimant les algorithmes ECDSA de la
HostKeyAlgorithms
variable de configuration.J'ai simplement supprimé tous les algorithmes ECDSA de la liste par défaut .
Vous pouvez, bien sûr, mettre cela dans votre
.ssh/config
pour cette machine:la source
HostKeyAlgorithms [email protected],ssh-rsa
plutôt.N'utilisez pas RSA car ECDSA est la nouvelle valeur par défaut.
Sur le serveur, procédez comme suit:
ssh-keygen -l -f /etc/ssh/ssh_host_ecdsa_key.pub
et enregistrez ce numéro.Sur le client, vous pouvez SSH vers l'hôte et si et quand vous voyez ce même numéro, vous pouvez répondre à l'invite par l'
Are you sure you want to continue connecting (yes/no)?
affirmative. Ensuite, la clé ECDSA sera enregistrée sur le client pour une utilisation future.la source
Oui, OK, passez bientôt à ECDSA, mais en attendant, essayez ceci:
la source
FingerprintHash
option n'est pas nécessaire, laissez cette partie entière désactivée.Je viens d'ajouter cette ligne
à
et ça marche bien dans cette version.
la source
Juste pour améliorer la réponse de tumbleweed qui contient un lien mort pour trouver l'ancienne liste d'algorithmes.
Décidez d'abord d'une liste d'algorithmes. Pour retrouver l'ancienne liste, utilisez
ssh -vv
:Et recherchez les 2 lignes comme "algorithmes de clé d'hôte: ..." où la première semble être l'offre du serveur, et la seconde est celle du client. Ou pour sélectionner automatiquement ces 2 lignes, essayez ceci (et pour quitter, appuyez sur ctrl + d):
Maintenant, filtrez-le ... vous devez supprimer tous les dss / dsa car ils sont obsolètes depuis longtemps, et vous vouliez également supprimer ecdsa (comme moi), donc par exemple si vous aviez:
Vous devriez vous retrouver avec:
Modifiez maintenant votre configuration. Pour votre propre configuration:
Pour la configuration à l'échelle du système:
Ajoutez une nouvelle ligne, soit globalement:
ou pour un hôte spécifique (pas idéal pour la configuration à l'échelle du serveur):
Au lieu de la liste que j'ai entrée, collez la liste que vous avez dérivée de la
ssh -vv
sortie, sans inclure la partie "algorithmes de clé d'hôte:".la source
certains points prêtent à confusion quant à la possibilité de supprimer les algorithmes de clé des valeurs par défaut existantes - Les clés de plus haut niveau sont les nouvelles clés RSA-sha2 / 256/512 et ed25519 pour une meilleure sécurité en utilisant ssh-keygen -t ras -a -b 4096 -a 113 à gen. Le support hérité est apparemment en train de lire ssh news que ssh1 aura totalement disparu - ses clés 45 bits et 96 bits max - dsa également dépréciées seront également éliminées. Son fixe sur 128/1024 bits max trouvé piratable. (poss NSA a fait cela et boiteux / excuse car le code de débogage laisse peu de doute que le nommer a du cœur) donc toutes les structures de clés RSA sécurisées et payantes doivent être retravaillées pour prendre en charge et maintenir des normes plus élevées à l'avenir. définissez les clés que vous souhaitez utiliser, comme décrit dans / etc / ssh / sshd_config, essayez également de faire fonctionner l'authentification à 2 clés, à savoir: sshd_config "AuthenticationMethods publickey, publickey, publickey" - assurez-vous que les listes ssh -Q kex correspondent à la fois aux serveurs A et B ou aux postes de travail, comme l'exemple peut faire une différence sur leur sortie - et assurez-vous que les mêmes algorithmes d'exhng clés correspondent. Les clés ecdsa plus récentes dans la production sont également kina faible suggèrent de ne pas utiliser. ou get - keyexchange a refusé l'accès partiel msg sécurisé. Beaucoup de bons infoz juste patient pour le rechercher.
la source
Ou, si vous insistez pour avoir l'approche par clé RSA, vous pouvez taper
ssh-keygen -t rsa
sur le serveur sur lequel vous avez l'intention de SSH.Cela devrait générer des clés publiques et privées RSA sous «~ / .ssh / id_rsa». Maintenant, tout ce que vous devez faire est de copier la clé publique
$HOME/.ssh/authorized_keys
de toutes les machines à partir desquelles vous avez l'intention de ssh sur la machine sur laquelle vous avez généré vos clés RSA.Et puis asseyez-vous et détendez-vous!
la source