ssh-copy-id contre copie manuelle id_rsa.pub

Dun jour à lautre, notre serveur dentreprise a commencé à me demander mon mot de passe SSH.

La première chose que jai vérifiée était de voir si ma clé était à lintérieur de .ssh/authorized_keys sur le serveur. Ma clé était à lintérieur, rien na changé. Aussi dans /etc/ssh/sshd_config rien na changé.

Ensuite, jai essayé de faire cette procédure fraîchement installé le serveur Ubuntu16. Après avoir terminé ces 5 étapes, le nouveau serveur ma demandé à nouveau le mot de passe SSH.

La commande ssh-copy-id a finalement effectué la connexion SSH sans clé, mais jai remarqué que .ssh/authorized_keys comporte trois lignes: une commençant par ssh-dss et 2x commençant par ssh-rsa

Maintenant, je me souviens que la procédure en 5 étapes à partir du lien ci-dessus a fonctionné dans le passé avec une seule clé.

Quelque chose a-t-il changé récemment? Pourquoi la procédure ci-dessus ne fonctionne plus?

Edit: Puisque ssh-copy-id copie au total 3 clés dans .ssh/authorized_keys ces clés se trouvent dans les fichiers suivants:

~/.ssh/id_dsa

~/.ssh/sshkey.pub

~/.ssh/id_rsa.pub

donc jai supprimé ligne par ligne du fichier .ssh/authorized_keys de la télécommande

ligne ~/.ssh/id_dsa supprimée – connexion automatique réussie

ligne ~/.ssh/id_rsa.pub supprimée – connexion automatique réussie

ligne ~/.ssh/sshkey.pub supprimée – connexion automatique not réussie – mot de passe demandé

Seul le contenu de ~/.ssh/sshkey.pub est nécessaire. Pourquoi SSH compare sshkey.pub et non id_rsa.pub comme dans lexemple du didacticiel en ligne?

Commentaires

  • Certainement pas à cause de modifications fondamentales du fichier allowed_keys ou je le ferais Je me suis réveillé un jour pour me retrouver exclu de tout un tas de machines.
  • quel type de clé et combien de bits? le serveur avec lequel vous ' rencontrez des problèmes peut avoir des normes plus élevées, probablement en raison dune mise à jour de sshd. Le RSA 1024 bits était auparavant considéré comme acceptable. de nos jours, 2048 ou 4096 bits sont nécessaires.
  • également, veuillez ajouter la sortie de ssh -v your-remote-server à votre question.
  • Avez-vous toujours le 640 indicateurs sur les clés_autorisées ou quelque chose de plus restrictif (600)?

Réponse

Il semble que ssh-copy-id est simplement une fonction pratique. Il vérifie si les clés ont déjà été exportées vers la machine, il crée le répertoire .ssh si nécessaire, mais en gros, il ajoute simplement des clés publiques à .ssh/authorized_keys . ssh-copy-id est un script shell (en openssh), vous pouvez donc lire son code (vi `which ssh-copy-id`) à la fin:

[ "$DRY_RUN" ] || printf "%s\n" "$NEW_IDS" | \ ssh "$@" "exec sh -c "cd ; umask 077 ; mkdir -p .ssh && { [ -z ""`tail -1c .ssh/authorized_keys 2>/dev/null`"" ] || echo >> .ssh/authorized_keys ; } && cat >> .ssh/authorized_keys || exit 1 ; if type restorecon >/dev/null 2>&1 ; then restorecon -F .ssh .ssh/authorized_keys ; fi"" \ || exit 1 

Lors de lauthentification, seuls authorized_keys sont vérifiés. De la documentation de openssh:

Le fichier ~ / .ssh / allowed_keys répertorie le public clés autorisées pour la connexion. Lorsque lutilisateur se connecte, le programme ssh indique au serveur la paire de clés quil souhaite utiliser pour lauthentification. Le client prouve quil a accès à la clé privée et le serveur vérifie que la clé publique correspondante est autorisée à accepter le compte.

Jespère que cela répond le titre de votre question « ssh-copy-id contre copie manuelle id_rsa.pub ». Ce fichier ~/.ssh/sshkey.pub Je ne lai pas, donc jespère que vous avez résolu vous-même les problèmes de votre configuration. Quoi quil en soit, oui, vous pouvez simplement copier manuellement la clé publique dans authorized_keys nutilisant pas ssh-copy-id.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *