Utilizo ssh en mi máquina y configuré una frase de contraseña larga no amigable para los humanos que se guarda en mi administrador de contraseñas. Lo que me vuelve loco cada vez es que no puedo pegar en la ventana que se muestra a continuación. Conozco la Remember password in my keychain
opción y la uso. Aunque a veces tengo que introducir uno nuevo. ¿Por qué no puedo pegar en un campo de contraseña?
Lo mismo ocurre con el cuadro de diálogo que aparece al conectar discos cifrados.
ssh-add -K ~/.ssh/id_rsa
y luego puedo pegar la frase de contraseña en la terminal.pkcs8
la cual se rompió en el agente ssh de Yosemite. Esto no está relacionado con el problema anterior, pero se me ocurrió al mismo tiempo (lea aquí ).ssh-add
aún no soluciona esto para discos encriptados.ssh-add ~/.ssh/id_rsa
. A continuación, puede pegar la contraseña en el terminal. Además, agregar la -K
opción para ssh-add
guardarlo en el llavero según el comentario de Oliver Lacan.id_rsa
cifrado que usa PKCS parece estar roto en OSX Mavericks ssh-agent. La solución rápida es descifrar el archivo de claves y volver a cifrarlo con el procedimiento ssh estándar (método de derivación de claves: 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
ssh-add -K ~/.ssh/id_rsa
qué "Guardar frases de contraseña en su llavero" según ssh-add --help
. Evitará que tenga que volver a ejecutar ssh-add
cada vez que abra una nueva pestaña de shell o cuando reinicie su máquina.¿Es una clave PKCS#8 y estás en Mavericks? Si es así, eso parece estar completamente reventado. No estoy seguro de que haya una solución todavía.
En Mac OS X El Capitan, el comando ssh-add puede hacer esto con la opción -K :
$ ssh-add -K ~/.ssh/id_rsa
Enter passphrase for /Users/your.username/.ssh/id_rsa:
Puede pegar su contraseña en este indicador con ⌘-V .
Una sesión para esto se ve así:
$ 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)
Extracto relevante de SSH-ADD(1) presentado con man ssh-add :
-K Al agregar identidades, cada frase de contraseña también se almacenará en su llavero. Al eliminar identidades con -d, cada frase de contraseña se eliminará de su llavero.
NOTA DE INFOSEC : su contraseña no se mostrará en el shell, pero estará expuesta a todas las aplicaciones en ejecución a través del portapapeles. Una solución de autotipo sería más segura.
Puede ejecutar un script como este en AppleScript Editor:
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
System Events got an error: Script Editor is not allowed assistive access.
una vez que esté permitido en Preferencias del sistema | Seguridad y privacidad que obtengoSystem Events got an error: Can’t get window 1 of process "SecurityAgent". Invalid index.
Yo tuve el mismo problema. Después de encontrar esta pregunta, seguí buscando y encontré una respuesta en otro lugar. Esta es una pregunta más antigua, pero no tiene respuestas aceptadas y todavía ocupa un lugar destacado en las listas de búsqueda. (no estoy seguro de la etiqueta de intercambio de pila en eso).
RE no puede copiar/pegar: aparentemente es por diseño. La intención es evitar todo acceso al campo desde el portapapeles para evitar que un programa malicioso raspe las casillas de contraseña. Creo que debería permitirse pegar (y no cortar), pero tal vez haya alguna razón técnica.
Para las cosas de ssh-agent, a partir de (al menos) Yosemite, la -K
opción ssh-add -K ~/.ssh/blah
hace lo que desea: escriba la contraseña una vez, se almacena en su llavero y ssh-agent se desbloqueará de forma transparente para usted. Para tratar de estar más seguro, coloco mis frases de contraseña ssh en un llavero separado que se bloquea periódicamente.
El uso de brew openssl y openssh soluciona el problema.
brew update
brew install openssl
brew link openssl --force
brew install openssh
# confirm correct bins are being used
# both should be located in /usr/local/bin
which openssl
which openssh
# add key back to keychain
ssh-add ~/.ssh/id_rsa
No estoy seguro de si la vinculación forzada de openssl rompe algo en Mavricks. Hasta ahora, no he notado ningún problema.
brew
fórmula para openssh
.brew tap homebrew/dupes
embargo. Dicho esto, estos pasos no parecieron resolver este problema para mí.
Alain O'Dea
joni