Tengo un repositorio de Github al que quiero acceder desde dos máquinas Linux diferentes.
Para la primera máquina, seguí las instrucciones de Github para generar claves SSH, y agregué la clave pública resultante a Github. Este cliente funciona bien.
Para el segundo cliente, copié el /home/{user}/.ssh/id_rsa
archivo del primer cliente. Pensé que esto podría ser todo lo que tenía que hacer, pero cuando trato de conectarme obtengo 'Permiso denegado (clave pública)'.
¿Qué me estoy perdiendo?
Si se le niega el permiso del final de Github, podría ser que no está recogiendo su archivo de clave SSH copiado, sino el valor predeterminado del sistema. Una forma fácil de evitar esto es
~/.ssh/config
crear un archivo excelente y poner lo siguiente en él:Esto obligará a su cliente SSH a usar esa clave solo para github.com.
Espero que esto ayude.
fuente
Sé que esto es antiguo, pero pensé en señalar que también debe copiar la clave pública al segundo cliente
(o recalcule con ssh-keygen -y -f ~ / .ssh / id_rsa_ ..> ~ / .ssh / id_rsa ... pub)
De 1]:
Su cliente ssh comienza la autenticación enviando la clave pública (la firma mencionada en negrita arriba) al servidor. El servidor, si la clave pública es una clave autorizada, envía una ID de sesión aleatoria a su cliente. Luego, su cliente codifica esa ID de sesión con la clave privada y la envía de vuelta al servidor. El servidor decodifica esa ID de sesión utilizando la clave pública y, si coincide con la ID de sesión original, autentica a su cliente.
[1] [ http://www.openssh.org/txt/rfc4252.txtfont>[1]
fuente
Probablemente sea porque no copió el permiso del archivo en el segundo cliente.
Pero una clave privada es privada , la forma correcta es crear una nueva clave privada en el segundo cliente y luego agregar su clave pública a Github
fuente