问题为协作者添加和验证SSH密钥

时间:2018-03-12 18:43:05

标签: git github ssh

我正在设置一个git repo来使用SSH访问而不是HTTPS,我遇到了一些问题。

我已正确生成密钥并正确地将公钥添加到GitHub用户的帐户。我知道密钥是正确的,因为我已成功在测试服务器上为此特定用户添加了SSH访问权限。

我也正确设置了远程网址(即git@github.com:user / project.git),尽管这是在任何关键的废话发生之前完成的。

以下是我到目前为止在生产服务器上所做的工作。 我在OWNS本地存储库的用户目录中创建了~/.ssh/config文件。我在生产服务器中出现的主机,主机名,用户和身份文件完全添加。然后我尝试验证密钥并遇到错误:首先我运行了eval "$(ssh-agent -s)"。这工作并吐出PID。然后我跑了ssh-add ~/.ssh/id_rsa并且拒绝了许可。然后我sudo'd那个命令并得到一个错误:

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

我发现这很奇怪,并且能够找到一个涉及运行的解决方案

sudo ssh-agent sh -c 'ssh-add ~/.ssh/id_rsa

这促使我输入了密码,我输入密码并得到密钥已添加的消息。

在测试服务器上,这似乎就是所有需要完成的事情。但是,当我使用ssh -T git@github.com在生产服务器上测试连接时,我收到消息“Hello WRONG_USER ...”。其中WRONG_USER是一个不再具有repo访问权限的旧用户。我知道这个用户没有访问权限,因为当存储库肯定存在时,运行git pull origin master会给我一个“Error:Repository Not Found”。

任何人都可以弄清楚究竟是什么我做错了吗?我怀疑可能是文件权限不稳定并影响密钥身份验证。我不知道为什么我必须su_ ssh-add命令。

我的目标是在运行ssh -T git@github.com时看到github的“Hello CORRECT_USER ...”,其中CORRECT_USER是我正在为其添加密钥的用户。

如果需要,我很乐意提供更多信息。任何建议都将不胜感激。

0 个答案:

没有答案