Recientemente reinstalé mi computadora portátil y descubrí que 'git clone' no estaba funcionando. Constantemente recibía Permission denied (publickey).
errores.
La solución está documentada en la página de problemas de SSH de GitHub : úsela ssh-add
para informar a SSH sobre la clave que quiero usar para autenticarme en GitHub.
Mi pregunta es: debajo del capó, ¿qué hace ssh-add
realmente?
He tenido la intención de ampliar mi comprensión de SSH por un tiempo, y esto parece una buena excusa para comenzar :-)
~/.ssh
directorio. ¿Algunas distribuciones hacen el equivalente de formassh-add
automática? Tal vez por eso estaba confundido?ssh
usa la clave en el~/.ssh
directorio, pero si la clave está protegida por una frase de contraseña, esta debe ingresarse en algún momento. Si usassh-agent
yssh-add
, escribe esta frase de contraseña una vez. De lo contrario, debe escribir la frase de contraseña cada vez que la usessh
. Tenga en cuenta que si la clave no está protegida con contraseña, puede usarlassh
sin que se le pida una frase de contraseña.~/.ssh
y esta podría ser la cosa más útil, ver en SO y documentos de bitbucketSegún este artículo en github , en algún momento en algunas distribuciones de Linux, incluso después de configurar todo correctamente, aparece este error:
Y deberías correr
ssh-add
para resolver el problema.fuente