Cómo corregir la advertencia: No se puede acceder al archivo de identidad github: ¿No existe tal archivo o directorio?

6
Host github.com git 
  HostName github.com
  User git
  IdentityFile ~/.ssh/github # I've tried also /home/freinn/.shh/github

No se ha /home/freinn/githubcreado ningún archivo, ¿tengo que crearlo?

Esa es la advertencia completa:

Warning: Identity file /home/freinn/github not accessible: No such file or directory.
Hi freinn! You've successfully authenticated, but GitHub does not provide shell access.

[freinn@freinn ruby]$ ssh -v git@github
OpenSSH_5.9p1, OpenSSL 1.0.0j-fips 10 May 2012
debug1: Reading configuration data /home/freinn/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 50: Applying options for *
ssh: Could not resolve hostname github: Name or service not known
freinn
fuente

Respuestas:

1

Para que la autenticación SSH funcione para GitHub, debe crear un par de claves pública / privada según las instrucciones de GitHub . La IdentityFileopción debe apuntar a cualquier archivo que contenga la clave privada que creó mientras realiza esas instrucciones.

Parece que te estás conectando bien de todos modos *: estás viendo el mensaje de conexión exitosa de GitHub. ¿Quizás su clave privada de GitHub es justa ~/.ssh/id_rsa? Si es así, puede eliminar la IdentityFilelínea por completo y funcionará como se esperaba.

Si es de ayuda, la sección relevante de mi ~/.ssh/config/aspecto es la siguiente:

Host github.com
    IdentityFile ~/.ssh/id_rsa_github
    IdentitiesOnly yes

... pero eso funciona solo porque ~/.ssh/id_rsa_githubes donde puse mi clave RSA privada específica de GitHub.

* GitHub siempre responde You've successfully authenticated, but GitHub does not provide shell access.cuando tienes éxito sshdesde un shell.

dos puntos
fuente
No funciona La misma advertencia incluso ingresando la línea "IdentidadesSolo sí"
freinn
Qué es'? ¿Eliminar la IdentityFilelínea por completo? Copiar mi entrada literalmente nunca iba a funcionar porque, como dije, funciona solo porque ~/.ssh/id_rsa_githubes donde puse mi clave RSA privada específica de GitHub. De nuevo, parece que te estás autenticando bien, deberías poder abandonar la IdentityFilelínea por completo.
dos puntos
Tengo que tener el archivo github en / home / freinn / y no sé por qué ssh buscar allí ...
freinn
Nuevamente, sshestá buscando y encontrando la clave RSA relevante. No recibirías el You've successfully authenticated…mensaje si ese no fuera el caso. IdentityFileEs casi seguro que su entrada es redundante, ya que se sshqueja y finalmente la ignora. Si pudiera actualizar su ssh -vsalida en [email protected]lugar de hacerlo git@github, lo sabríamos con certeza. Pero probablemente sea irrelevante, ya que deshacerse de la IdentityFilelínea probablemente detendrá el mensaje de error.
dos puntos
Si salgo de la línea IdentityFileque daWarning: Identity file /home/freinn/github not accessible: No such file or directory. Permission denied (publickey).
freinn
1

Esto es lo que me funciona:

Host github
  User git
  Hostname github.com
  IdentityFile ~/.ssh/id_rsa

El IdentityFiledebería apuntar al archivo de identificación existente. Puede usar tilde (~) que se refiere al directorio de inicio de un usuario.

Básicamente el error:

Advertencia: el archivo de identidad / home / freinn / github no es accesible: no existe dicho archivo o directorio.

diciendo que falta este archivo, por lo tanto, debe crear uno (usando ssh-keygen) o señalar el archivo de identidad de autenticación DSA, ECDSA o RSA existente o usar el archivo predeterminado (eliminando o comentando la línea).

Además, en la línea de host ( Host github), puede especificar el patrón de host, como el alias que desea usar, para que pueda usarlo en git@githublugar de usar el host completo. Normalmente, desea usar una entrada de host específica, sin embargo, también puede usar un carácter comodín ( *) que aplicará la configuración global para todos los hosts.

Verifique más información ejecutando el man ssh_configcomando.

kenorb
fuente