Solo para aclarar: el error que recibo no está relacionado con los permisos de los archivos ssh. No recibo ningún error relacionado con los permisos.
Tengo el siguiente archivo ~/.ssh/config
Host git-codecommit.*.amazonaws.com
User APKAIxxxxxxxxxxxxxxx
IdentityFile ~/.ssh/id_rsa
Los archivos config e id_rsa tienen los siguientes permisos
-rw------- 1 jmsanzg jmsanzg 93 jun 24 16:23 config
-rw------- 1 jmsanzg jmsanzg 1679 abr 26 2015 id_rsa
-rw-r--r-- 1 jmsanzg jmsanzg 396 abr 26 2015 id_rsa.pub
El directorio .ssh tiene los siguientes permisos
drwx------ 2 jmsanzg jmsanzg 4096 jun 24 16:23 .ssh
Si ejecuto ssh lo obligo a usar el certificado y luego funciona
jmsanzg@jmsanz:~$ ssh -i ~/.ssh/id_rsa [email protected]
You have successfully authenticated over SSH. You can use Git to interact with AWS CodeCommit. Interactive shells are not supported.Connection to git-codecommit.us-east-2.amazonaws.com closed by remote host.
Connection to git-codecommit.us-east-2.amazonaws.com closed.
Pero cada vez que intento ejecutarlo directamente intentando usar el archivo de configuración falla
jmsanzg@jmsanz:~$ ssh git-codecommit.us-east-2.amazonaws.com
Permission denied (publickey).
Además, si configuro el usuario, simplemente intento encontrar por qué falla, bueno, también falla.
jmsanzg@jmsanz:~$ ssh [email protected]
Permission denied (publickey).
Esto me está volviendo loco porque funcionaba de maravilla desde 2015 y ayer de repente dejó de funcionar sin hacer (creo que sí) ningún cambio. Probé el parámetro -v en ambos y no veo ninguna diferencia específica. Justo al final, la línea de comando ofrece la clave pública RSA.
debug1: Authentications that can continue: publickey
debug1: Offering RSA public key: /home/jmsanzg/.ssh/id_rsa
debug1: Server accepts key: pkalg rsa-sha2-256 blen 279
debug1: Authentication succeeded (publickey).
mientras que la otra línea de comando que debería usar el archivo de configuración no ofrece el archivo /home/jmsanzg/.ssh/id_rsa
debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
Permission denied (publickey).
EDITAR Para hacer las cosas más interesantes. Copié los archivos config, id_rsa e id_rsa.pub a otra computadora. Dio los mismos permisos y... funcionan en ambos sentidos, usando la configuración y con la línea de comando completa.
Respuesta1
Tuve el mismo problema, ec2 y todo. Al correr ssh host-name -v
obtendría connection timed out
. Lo intenté:
- permisos de apertura en ec2 ssh entrante
- abriendo permisos chmod en .pem (no puedo hacer eso, debe ser 400)
- simplificando el nombre de la clave
Finalmente, revisé dos veces mi nombre de host y era la instancia ec2 incorrecta. Además, hay varias ubicaciones de .ssh/config:
- /etc/ssh/ssh_config
- ~/.ssh/config
El mío está funcionando ahora con la instancia ec2 correcta:
- cwd = ~
- configuración loc = ~/.ssh/config
- archivo de configuración
Host terraria
HostName "###-###-##-##-###.compute-1.amazonaws.com"
User ubuntu
IdentityFile ~/.ssh/"Terraria Key.pem"
ssh terraria