如何修复警告:Identity file github not accessible:没有此文件或目录?

如何修复警告:Identity file github not accessible:没有此文件或目录?
Host github.com git 
  HostName github.com
  User git
  IdentityFile ~/.ssh/github # I've tried also /home/freinn/.shh/github

尚未/home/freinn/github创建文件,我必须创建它吗?

这是完整的警告:

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

答案1

这对我有用:

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

应该IdentityFile指向现有的标识文件。您可以使用波浪符号 (~) 来引用用户的主目录。

基本上错误:

警告:身份文件 /home/freinn/github 无法访问:没有此文件或目录。

说这个文件丢失,因此您必须创建一个(使用ssh-keygen),或者指向现有的 DSA、ECDSA 或 RSA 身份验证身份文件或使用默认文件(通过删除或注释掉该行)。

此外,在主机行 ( Host github) 中,您可以指定要使用的主机模式(例如别名),这样您就可以使用它git@github而不是使用完整主机。通常您想使用特定的主机条目,但是您也可以使用通配符 ( *),它将应用所有主机的全局设置。

通过运行命令检查更多信息man ssh_config

答案2

要使 GitHub 的 SSH 身份验证正常工作,您需要按照以下说明创建公钥/私钥对GitHub 的说明。该IdentityFile选项应该指向包含您在执行这些指令时创建的私钥的任何文件。

看起来你连接得很好*——你看到了 GitHub 的成功连接消息。也许你的 GitHub 私钥只是~/.ssh/id_rsa?如果是这样,你可以把这IdentityFile一行全部删除,它就会按预期工作。

如果有任何帮助,我的相关部分~/.ssh/config/如下:

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

...但这有效,因为~/.ssh/id_rsa_github这是我放置 GitHub 特定的私有 RSA 密钥的地方。

You've successfully authenticated, but GitHub does not provide shell access.*当您ssh从 shell 成功进入时,GitHub 总会做出响应。

相关内容