Cada vez que ingreso SSH a otro servidor desde nuestro servidor Ubuntu sin cabeza, se me solicita la contraseña de mi archivo de clave. Incluso si me he conectado previamente al servidor.
¿Tienes alguna idea de por qué esto tal vez? Podría ser algo tan simple como ssh-agentno ejecutarse actualmente o algo así.
La misma clave en mi escritorio Ubuntu Gnome está funcionando bien. Tanto el servidor como el escritorio ejecutan Ubuntu 10.10.
ps -ef | grep '[s]sh-agent'
simon 3219 1 0 12:46 ? 00:00:00 ssh-agent

ssh-agentestá ejecutando:ps -ef | grep '[s]sh-agent'Respuestas:
Incluso si el agente está activo, si ciertas variables de entorno no están establecidas, no tiene referencia al agente. Además, incluso si todo está bien, agente y variables, la identidad no se envía automáticamente al agente: esa es una tarea para
ssh-askpasstrabajar solo en sesiones X.Si está utilizando bash, cree el archivo
~/.bash_profilecon este contenido:modifique el nombre del archivo
~/.ssh/id_dsasegún sus necesidades y agregue esta línea a~/.bash_logoutUna última nota: esto no interfiere con una sesión de gnome, porque en ese caso solo
~/.profilese obtiene, y puede beneficiarse de lassh-askpassinterfaz gráfica que solicita una frase de contraseña y la envía alssh-agent.fuente
sshentrar en otras máquinas. Pero no lo hace cuando se usagitpara empujar o tirar de un repositorio público. ¿Tienes alguna idea de cómo podría resolver eso también?ssh(), llámelagit()y cambie la última línea de/usr/bin/ssha/usr/bin/git. Además, agregue una línea final conexport -f git.sshen la máquina con elbash_profilearchivo que creaste arriba, me pide la contraseña de la clave. Por alguna razón, ahora cada vez que entro me pregunta incluso antes de ejecutarsshogit. Visite gist.github.com/942082 para ver el aviso que recibo cuando inicio sesión en la máquina infractora.gitinteractuarssh, y no lo usogitpara no poder intentarlo. Modifiqué~/.bash_profilepara incluir lagit()función que mencioné anteriormente, para asegurarme de que mi explicación anterior era clara. Además, según el resultado, muestra que modificó la máquina del servidor, pero todos mis consejos se dirigieron solo a la máquina del cliente.gitpresiono a una fragua / depósito central para que el archivo esté en el lugar correcto. Creo que me acabas de dar la pista / agitó mis pensamientos. Tengo un indicador de bash especial que muestra la rama git depwd. ¡Apuesto a que eso es lo que está activando la solicitud de contraseña al inicio de sesión de bash, ya que intenta obtener estadísticas antes de mostrar el indicador de bash!Recientemente comencé a usar ssh-ident:
https://github.com/ccontavalli/ssh-ident
todo lo que tienes que hacer es agregar algo como:
en su
.bashrc. Alternativamente, puedeln -s /path/to/ssh-ident ~/bin/ssho algún otro directorio en su RUTA antes/biny/usr/bin.fuente
Esta pregunta tiene una respuesta bastante buena en SuperUser .
Encontré la pista para usar Keychain bastante útil.
fuente