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-agent
no 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-agent
está 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-askpass
trabajar solo en sesiones X.Si está utilizando bash, cree el archivo
~/.bash_profile
con este contenido:modifique el nombre del archivo
~/.ssh/id_dsa
según sus necesidades y agregue esta línea a~/.bash_logout
Una última nota: esto no interfiere con una sesión de gnome, porque en ese caso solo
~/.profile
se obtiene, y puede beneficiarse de lassh-askpass
interfaz gráfica que solicita una frase de contraseña y la envía alssh-agent
.fuente
ssh
entrar en otras máquinas. Pero no lo hace cuando se usagit
para 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/ssh
a/usr/bin/git
. Además, agregue una línea final conexport -f git
.ssh
en la máquina con elbash_profile
archivo 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 ejecutarssh
ogit
. Visite gist.github.com/942082 para ver el aviso que recibo cuando inicio sesión en la máquina infractora.git
interactuarssh
, y no lo usogit
para no poder intentarlo. Modifiqué~/.bash_profile
para 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.git
presiono 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/ssh
o algún otro directorio en su RUTA antes/bin
y/usr/bin
.fuente
Esta pregunta tiene una respuesta bastante buena en SuperUser .
Encontré la pista para usar Keychain bastante útil.
fuente