6 votos

Mac OS X Lion y sshpass

He actualizado desde Mac OS X Snow Leopard a Lion. He utilizado varios scripts con sshpass , pero después de actualizar a Lion aparece el siguiente error:

Permiso denegado, por favor, inténtelo de nuevo.
debug1: read_passphrase: no se puede abrir /dev/tty: el Dispositivo no configurado
debug1: permanently_drop_suid: 502
ssh_askpass: exec(/usr/libexec/ssh-askpass): No existe el fichero o el directorio

Sólo puedo conectar con sshpass (o escriba la contraseña manualmente). No de clave pública/privada. He reinstalado MacPorts y sshpass.

¿Cómo puedo obtener ssh-askpass? ¿Cómo puedo configurar /dev/tty ?

Saluda!

2voto

user13192 Puntos 130

Primero debe presentar una queja con el servidor de administración, la observación de que la autenticación de clave pública es mucho más seguro que una simple contraseña, pero voy a asumir que ya he hecho, y sus administradores son simplemente idiotas.

Apple tristemente eliminado ssh-askpass, cuando integró su funcionalidad en ssh, scp y ssh-add. Sin embargo, hay una SSHKeychain paquete que proporciona un ssh-askpass con una Manzana-como el Cacao indicador de solicitud de contraseña para macports' paquete openssh. Que debería solucionar sus problemas de la manera que desea, tal vez incluso la configuración de la SSH_ASKPASS variable para usted.

Sólo para tu información, me gustaría suelen recomendar en contra de la instalación de openssh macports paquete de sí mismo porque se rompen con su Apple pide contraseña, pero una vez que has instalado SSHKeychain macports generalmente ofrece un más reciente openssh de Apple.

No hay nada de malo en mi humilde opinión, con la inserción de las contraseñas en secuencias de comandos cuando el servidor deshabilita la autenticación de clave pública, es decir, si se preocupaba por la seguridad, que debe volver a habilitar las claves públicas. Incluso hay servidores que intencionalmente romper sshpass. Usted podría tener acceso a este tipo de máquinas el uso de los siguientes esperar secuencia de comandos :

#!/usr/bin/expect -f
set timeout -1
set send_human {.05 0.1 1 .07 1.5}
eval spawn $argv
match_max 100000
expect {
   -re "USERNAME@(\[0-9A-Za-z_\\-\\.\]+)'s password: "
     { sleep 0.1 ; send -- "PASSWORD\r" ; sleep 0.3 }
}
interact

Usted puede acelerar este script mediante la reducción de la duerme y send_human retrasos.

0voto

Drag0n Puntos 21

También me encontré con un problema similar después de actualizar a Mac OS X Lion. Yo uso Unísono para sincronizar un directorio en mi MacBook Pro con mi servidor Linux, pero después de la actualización no me pude conectar más. El problema es que /usr/libexec/ssh-askpass está ausente en Lion. Para corregir esto, usted puede ir a http://westergaard.eu/2011/07/printing-on-wi-from-mac-os-x-lion/?utm_source=rss&utm_medium=rss&utm_campaign=printing-on-wi-from-mac-os-x-lion. Allí usted puede descargar el archivo Printer-hack.zip. Contiene el archivo ssh-askpass que luego puede pasar a /usr/libexec/.

0voto

Brian Rogers Puntos 12160

La forma correcta de solucionar este problema es eliminar todos los sshpass cosas que ha instalado y solo se basan en lo que Apple ya preparado para usted.

De forma predeterminada, el agente ssh ya se está ejecutando (en realidad a punto de ejecutar una vez que usted utilice, a través de launchd). Usted puede verificar esto en el terminal, con env|grep SSH que debe volver con algo como SSH_AUTH_SOCK=/tmp/launch-7D4wfP/Listeners. Si no se ve así, entonces usted está siendo primordial el defecto en uno de los shell scripts de inicio.

A continuación, almacenar su clave SSH frase de contraseña en el llavero con ssh-add -K. Una vez hecho esto, automáticamente se carga la llave en su ssh-agent cuando sea necesario.

EDIT: Ups, se me pasó la "no pubkey auth" poco y lo ssh-pass. Ok, prueba a configurar la variable de entorno SSH_ASKPASS a un script que imprima su contraseña. Que va a hacer ssh ejecutar ese script en lugar de ssh_askpass.

Qué podría estar pasando es que Lion puede ser más estrictos sobre las TTY y no aceptar el medio ambiente que ssh-pass proporciona como un verdadero TTY. Si ese es el caso, ssh-pass tendrá que ser fijo. Tal vez de compilar su propio ssh puede trabajar demasiado.

0voto

phunehehe Puntos 570

OK, me enfrenté a este mismo problema con AIX así. El escenario fue errático, a veces el comando ejecutar y, a veces, se lanzaría a la /dev/tty de error.

He trabajado alrededor de ella haciendo lo siguiente: Yo exportación SSH_ASKPASS a un script de shell que se repetiría la contraseña. y, a continuación, ejecute ./sshpass -p $password $user@$node hostname. En este sentido, los casos en que ssh se queja acerca de la /dev/tty se genera en $SSH_ASKPASS y obtiene la contraseña.

Espero que esto sea útil. Me siento tentado a pensar que esto de ser más un sshpass error, pero por supuesto no he depurado más.

Saludos Suriyan

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X