奇怪的 ssh 密钥问题

奇怪的 ssh 密钥问题

场景 1. 我从 /home/deploy 目录执行此操作

我正在尝试使用 github 设置 ssh 以进行 capistrano 部署。这绝对是一场噩梦。

当我执行 ssh 时[电子邮件保护]作为部署帐户我得到

权限被拒绝(公钥)。

所以可能是没有找到密钥,所以如果我做一个

ssh-添加/home/deploy/.ssh/id_rsa

无法打开与您的身份验证代理的连接。

(我确实验证了 ssh-agent 正在运行)如果我执行 exec ssh-agent bash,然后重复 ssh-add,那么密钥就会被添加,然后我就可以 ssh 进入 github。

现在我退出与服务器的 ssh 连接并重新 ssh 登录,但我无法再 ssh 进入 github!

场景 2

如果我登录到我的远程服务器,然后 cd 进入我的 .ssh 目录并 ssh 进入 github,那么一切正常

我猜测是定位密钥出现了问题,并且由于某种原因代理无法正常运行。

有任何想法吗?

她是一个有更多详细信息的粘贴者..我的.bashrc,权限等。

http://pastie.org/pastes/1190557/

答案1

您是否可能默认尝试添加到系统的 ssh-agent,但您没有权限?或者它根本就没有启动?Github 上有一个关于在登录时启动 ssh-agent 的页面,您看过了吗?http://help.github.com/working-with-key-passphrases/

答案2

尝试删除本地配置中的第 5 行“IdenityFile”。

推理。默认情况下,ssh 应该寻找 id_rsa 作为您的私钥。但是您定义它的原因是错误的。您要么需要完整路径,要么至少需要 ~/.ssh/id_rsa。但就像我之前说的,您可能不需要它。

另一个原因是,在你的详细登录中我看到了这两行

debug2: key: id_rsa ((nil))
...
debug1: Trying private key: id_rsa
debug2: we did not send a packet, disable method

这告诉我它正在使用密钥 id_rsa(您定义的)但它是空的或者找不到它。

相关内容