Me encuentro con este error de:
idioma: lang-none -->
$ git push heroku master
Warning: Permanently added the RSA host key for IP address '50.19.85.132' to the list of known hosts.
! Your key with fingerprint b7:fd:15:25:02:8e:5f:06:4f:1c:af:f3:f0:c3:c2:65 is not authorized to access bitstarter.
He intentado añadir las claves y me sale este error de abajo:
idioma: lang-none -->
$ ssh-add ~/.ssh/id_rsa.pub
Could not open a connection to your authentication agent.
Si estás usando Msysgit o Cygwin puedes encontrar un buen tutorial en [SSH-Agent in msysgit and cygwin and bash][ant]:
Añade un archivo llamado .bashrc
a tu carpeta de inicio.
Abre el archivo y pégalo:
#!/bin/bash
eval `ssh-agent -s`
ssh-add
Esto supone que su clave está en la ubicación convencional ~/.ssh/id_rsa
. Si no es así, incluye una ruta completa después del comando ssh-add
.
Añade o crea el archivo ~/.ssh/config
con el contenido
ForwardAgent sí
En el tutorial original el parámetro ForwardAgent
es Sí
, pero es un error tipográfico. Utiliza todas las minúsculas o tendrás errores.
Si no quieres iniciar un nuevo ssh-agent cada vez que abres una terminal, echa un vistazo a Keychain. Estoy en un Mac ahora, así que usé el tutorial ssh-agent con zsh & keychain en Mac OS X para configurarlo, pero estoy seguro que una búsqueda en Google tendrá mucha información para Windows.
Actualización: Una mejor solución en Mac es añadir la clave al llavero de Mac OS:
ssh-add -K ~/.ssh/id_rsa
Así de simple.
ssh-add y ssh (asumiendo que está usando las implementaciones de openssh) requieren una variable de entorno para saber cómo hablar con el agente ssh. Si inició el agente en una ventana de símbolo del sistema diferente a la que está usando ahora, o si lo inició incorrectamente, ni ssh-add ni ssh verán esa variable de entorno establecida (porque la variable de entorno se establece localmente en el símbolo del sistema en el que se establece).
No dices qué versión de ssh estás usando, pero si estás usando la de cygwin, puedes usar esta receta de SSH Agent on Cygwin:
# Add to your Bash config file
SSHAGENT=/usr/bin/ssh-agent
SSHAGENTARGS="-s"
if [ -z "$SSH_AUTH_SOCK" -a -x "$SSHAGENT" ]; then
eval `$SSHAGENT $SSHAGENTARGS`
trap "kill $SSH_AGENT_PID" 0
fi
Esto iniciará un agente automáticamente para cada nueva ventana de prompt de comandos que abra (lo cual es subóptimo si abre múltiples prompts de comandos en una sesión, pero al menos debería funcionar).
Permíteme ofrecer otra solución. Si acabas de instalar Git 1.8.2.2 o más, y quieres habilitar SSH, sigue las [instrucciones] bien escritas (https://confluence.atlassian.com/display/BITBUCKET/Set+up+SSH+for+Git).
Todo hasta el paso 5.6 donde puede encontrar un pequeño inconveniente. Si un agente SSH ya se está ejecutando podrías obtener el siguiente mensaje de error cuando reinicies bash
Could not open a connection to your authentication agent
Si lo hace, utilice el siguiente comando para ver si se está ejecutando más de un proceso ssh-agent
ps aux | grep ssh
Si ves más de un servicio ssh-agent, tendrás que matar todos estos procesos. Utilice el comando kill de la siguiente manera (el PID será único en su ordenador)
kill <PID>
Ejemplo:
kill 1074
Después de haber eliminado todos los procesos de ssh-agent, ejecute el comando px aux | grep ssh de nuevo para asegurarse de que han desaparecido, y luego reinicie Bash.
Voilà, ahora deberías obtener algo como esto:
Initializing new SSH agent...
succeeded
Enter passphrase for /c/Users/username/.ssh/id_rsa:
Ahora puedes continuar con el paso 5.7 y siguientes.