36 votes

OSX ssh-agent : pas de collage de mot de passe, et problème avec PKCS#8 ?

J'utilise ssh sur ma machine et j'ai établi une longue phrase de passe qui n'est pas humaine et qui est sauvegardée dans mon gestionnaire de mots de passe. Ce qui me rend fou à chaque fois, c'est que je ne peux pas coller dans la fenêtre illustrée ci-dessous. Je connais la Remember password in my keychain et l'utiliser. Parfois, je dois en saisir une nouvelle. Pourquoi ne puis-je pas coller dans un champ de mot de passe ?

Il en va de même pour la boîte de dialogue qui s'affiche lorsque l'on branche des disques cryptés.

ssh-agent window

Quelques mises à jour :

  1. J'ai découvert comment contourner le dialogue : il suffit d'utiliser ssh-add -K ~/.ssh/id_rsa et je peux ensuite coller la phrase d'authentification dans le terminal.
  2. Comme l'a mentionné mattmcmanus, ma clé est cryptée à l'aide de pkcs8 qui ne fonctionnait pas avec le ssh-agent de Yosemite. Cela n'a rien à voir avec le problème ci-dessus, mais cela m'est venu à l'esprit en même temps (lire aquí ).
  3. en utilisant ssh-add toujours pas corrige ce problème pour les disques cryptés.

22voto

Tom Desmet Points 31
  1. Le dialogue pour ssh-agent peut être contourné en ajoutant la clé dans la console/terminal : ssh-add ~/.ssh/id_rsa . Vous pouvez ensuite coller le mot de passe dans le terminal. De même, l'ajout de l'élément -K à l'option ssh-add l'enregistrera dans le trousseau de clés, conformément au commentaire d'Oliver Lacans.
  2. Comme l'a dit mattmcmanus, id_rsa chiffrement en utilisant PKCS semble être cassé sur OSX Mavericks ssh-agent. La solution rapide consiste à décrypter le fichier clé, et à le recrypter avec la procédure ssh standard (méthode de dérivation de clé : MD5...) :

mv id_rsa id_rsa.pkcs
openssl rsa -in id_rsa.pkcs -out id_rsa
# enter passphrase to decrypt
chmod 0600 id_rsa
ssh-keygen -f id_rsa -p
# enter passphrase to encrypt again

2voto

mattmcmanus Points 141

S'agit-il d'une clé PKCS#8 et utilisez-vous mavericks ? Si c'est le cas, il semble que cela ne fonctionne pas du tout. Je ne suis pas sûr qu'il y ait une solution pour l'instant.

2voto

Alain O'Dea Points 121

Sous Mac OS X El Capitan, la fonction ssh-add peut le faire à l'aide d'une commande -K option :

$ ssh-add -K ~/.ssh/id_rsa
Enter passphrase for /Users/your.username/.ssh/id_rsa:

Vous pouvez coller votre mot de passe dans cette invite avec -V .

Une session de ce type se présente comme suit :

$ ssh-add -K ~/.ssh/id_rsa
Enter passphrase for /Users/your.username/.ssh/id_rsa:
Passphrase stored in keychain: /Users/your.username/.ssh/id_rsa
Identity added: /Users/your.username/.ssh/id_rsa (/Users/your.username/.ssh/id_rsa)

Extrait pertinent de SSH-ADD(1) a été élevé avec man ssh-add :

-K Lors de l'ajout d'identités, chaque phrase de passe sera également stockée dans votre trousseau. Lors de la suppression d'identités avec -d, chaque phrase de passe sera supprimée de votre trousseau.

INFOSEC NOTE : Votre mot de passe ne sera pas affiché dans le shell, mais sera exposé à toutes les applications en cours d'exécution via le presse-papiers. Une solution de type autotype serait plus sûre.

1voto

Vous pouvez exécuter un script comme celui-ci dans l'éditeur AppleScript :

tell application "System Events" to tell process "SecurityAgent"
    set value of text field 2 of scroll area 1 of group 1 of window 1 to "pa55word"
    click button 2 of group 2 of window 1
end tell

1voto

davispuh Points 131

J'ai eu le même problème. Après avoir trouvé cette question, j'ai continué à chercher et j'ai trouvé une réponse ailleurs. Il s'agit d'une question plus ancienne, mais elle n'a pas de réponse acceptée et figure toujours en bonne place dans les listes de recherche. (Je ne suis pas sûr de l'étiquette de stackexchange à ce sujet).

RE ne pas pouvoir copier/coller : C'est apparemment une question de conception. L'intention est d'empêcher tout accès au champ à partir du presse-papiers afin d'éviter qu'un programme malveillant ne récupère les boîtes de mots de passe. Je pense que le collage (et non la coupure) devrait être autorisé, mais il y a peut-être une raison technique.

Pour ce qui est de l'agent ssh, à partir de Yosemite (au moins), l'option -K dans l'option ssh-add -K ~/.ssh/blah fait ce que vous souhaitez : tapez le mot de passe une fois, il est stocké dans votre trousseau, et ssh-agent le déverrouille de manière transparente. Pour essayer d'être plus sûr, je mets mes phrases de passe ssh dans un trousseau séparé qui se verrouille périodiquement.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X