ssh - GitLab ssh 到本地用户的主机名导致 "fatal: Could not rea

奇怪的情况

将 Ubuntu 与 GitLab 7.0.0 一起使用

用户(我)在服务器上拥有使用 SSH key 访问的本地帐户。
与上述同名的用户,并且在 GitLab 中拥有一个帐户,也具有相同的 SSH key 。

我首选的访问方法是在推拉时使用 SSH。

所以在 GitLab 中创建存储库并尝试之后

git remote add origin git@[HOST NAME]:[GROUP]/[PROJECT].git
git push -v -u origin master

我有:
fatal: Could not read from remote repository.
...

有很多关于这个错误的网页,做了所有的检查,看起来还不错。
git remote add origin http://[HOST NAME]:[GROUP]/[PROJECT].git
git push -v -u origin master

像魅力一样工作......

现在适用于 的其他 GitLab 用户不要有一个本地帐户 git@[HOST NAME]:[GROUP]/[PROJECT].git 工作正常。

现在,如果我执行以下操作:
git remote add origin git@[**IP ADDRESS**]:[GROUP]/[PROJECT].git
git push -v -u origin master

它工作正常!

查看机器上的 auth.log 时 git@[HOST NAME]
Accepted publickey for [USER]

查看机器上的 auth.log 时 git@[ IP地址 ]
Accepted publickey for git

有任何想法吗?

最佳答案

问题不在于 Gitlab,而在于 PuTTY 的一个特性。
如果你有一个命名 session 保存在 PuTTY 中作为连接到它的服务器的主机名,它将使用 中定义的用户名。已保存 session 不是在命令行上定义的[此行为从 PuTTY V0.64 开始存在]。

要解决此功能,请确保 session 名称不仅仅是主机名。

关于ssh - GitLab ssh 到本地用户的主机名导致 "fatal: Could not read from remote repository",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24573184/

相关文章:

bash - 如何将本地文本文件传递给ssh命令?

security - Grails 中的真实性 token

deployment - 使用Grunt和rsync将远程文件夹与本地文件夹同步

ssh - ssh运行远程命令后未得到提示

session - 保持 session 状态

gwt - 使GWT和Grails与Atmosphere插件一起工作

Perl - 通过包含 require 指令的 SSH 远程运行脚本

grails - Grails的浏览器历史记录?

grails - 如何根据组合框中的选择显示或隐藏GSP上的字段

c# - 从C#(WPF)程序向putty.exe实例发送命令