47 votes

Comment configurer ssh pour authentifier en utilisant des clés au lieu d'un nom d'utilisateur / mot de passe?

Comment configurez-vous ssh pour authentifier un utilisateur en utilisant des clés au lieu d'un nom d'utilisateur / mot de passe?

34voto

Tim Sullivan Points 10677

Pour chaque utilisateur : ils devraient générer (sur leur machine locale) leur paire de clés en utilisant ssh-keygen -t rsa (le rsa peut être remplacé par dsa ou rsa1, bien que ces options ne soient pas recommandées). Ensuite, ils doivent mettre le contenu de leur clé publique (id_rsa.pub) dans ~/.ssh/authorized_keys sur le serveur auquel ils se connectent.

25voto

Chris Bunch Points 969

Je préfère en fait ssh-copy-id, un script par défaut sur *nix (peut être facilement mis sur Mac OS X) qui le fait automatiquement pour vous. Selon la page man :

ssh-copy-id est un script qui utilise ssh pour se connecter à une machine distante (présumément en utilisant un mot de passe de connexion, donc l'authentification par mot de passe devrait être activée, à moins que vous n'ayez fait un usage astucieux de multiples identités)

Il change également les permissions de le dossier de l'utilisateur distant, ~/.ssh, et ~/.ssh/authorized_keys pour supprimer l'écriture en groupe (ce qui vous empêcherait autrement de vous connecter, si le sshd distant a StrictModes activé dans sa configuration).

Si l'option -i est donnée alors le fichier d'identité (par défaut ~/.ssh/identity.pub) est utilisé, indépendamment du fait s'il y a des clés dans votre ssh-agent.

9voto

Node Points 1624

Hum, je ne comprends pas. Il vous suffit de créer une clé et de commencer. :) COMMENT FAIRE De plus, vous pourriez interdire la connexion via mot de passe. Par exemple /etc/ssh/sshd_config:

PasswordAuthentication no

3voto

Galbrezu Points 142

C'est assez simple à faire - il y a un guide simple à suivre à trouver ici.

Les points principaux sont :

  • Exécuter ssh-keygen sur votre machine. Cela générera des clés publique et privée pour vous.
  • Copier et coller le contenu de votre clé publique (probablement dans ~/.ssh/id_rsa.pub) dans ~/.ssh/authorized_keys sur la machine distante.

Il est important de se rappeler que cela donnera à quiconque ayant accès à la clé privée de votre machine le même accès à la machine distante. Ainsi, lors de la génération de la paire de clés, vous pouvez choisir d'entrer un mot de passe ici pour une sécurité supplémentaire.

3voto

Dave Veffer Points 933

Pour les utilisateurs de Windows pour configurer putty

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X