Bitbucket git SSH 密钥错误:“/home/centos/.ssh/config 上的所有者或权限不正确”

Jos*_*lls 2 ssh git bitbucket.org

我已按照 Bitbucket 的说明添加我的 SSH 密钥并使用 git,而无需每次都进行身份验证。我按照这里的说明进行操作。然后我得到ssh -T git@bitbucket.org了以下消息:

Bad owner or permissions on /home/centos/.ssh/config
Run Code Online (Sandbox Code Playgroud)

检查 SSH 权限显示:

cat ~/.ssh/config
Host bitbucket.org
 IdentityFile ~/.ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)

并且~/.ssh/id_rsa存在并包含我的私钥。公钥已添加到我在 Bitbucket 中的 SSH 密钥中,我收到的错误消息不在他们的故障排除指南中。

系统为CentOS Linux release 7.0.1406 (Core), git version 1.8.3.1, SSH key 5小时前添加到Bitbucket。不确定是否相关,centosCentOS 机器上的用户是自动创建的,我使用身份文件登录(我没有密码)。此外,Bitbucket 存储库工作正常,我可以在另一台计算机上使用它,没问题。两个 SSH 密钥都列在我的 Bitbucket 帐户下。

更新:我得到的两个答案都提到了权限,但我已经检查过了。双方~/.ssh/id_rsa~/.ssh/id_rsa通过我的用户拥有664600分别。我什777至对这两个文件都尝试了 chmod ,但得到了相同的消息。

Gia*_*968 5

我得到的两个答案都提到了权限,但我已经检查过了。双方~/.ssh/id_rsa~/.ssh/id_rsa通过我的用户拥有 664600分别。我什777至对这两个文件都尝试了 chmod ,但得到了相同的消息。

777权限永远不会起作用。SSH 权限是高度限制性的,打开它们只会导致错误。此外,您对其他问题的评论表明这些是您当前的权限:

-rw-rw-r--. 1 centos centos 47 May 17 20:33 /home/centos/.ssh/config 
Run Code Online (Sandbox Code Playgroud)

这些是664权限-rw-rw-r--。你想要的是600权限,这将是-rw-------. 所以请试试这个;首先~/.ssh/config像这样更改权限:

chmod 600 /home/centos/.ssh/config
Run Code Online (Sandbox Code Playgroud)

现在做同样的事情 ~/.ssh/id_rsa

chmod 600 /home/centos/.ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)

此外,我不太确定 Bitbucket SSH 域/用户组合是什么,但通过使用带有-v(详细)标志的 SSH 命令来调试进程以详细查看正在发生的事情可能是值得的。像这样的命令会有所帮助:

ssh -v -T git@bitbucket.org
Run Code Online (Sandbox Code Playgroud)

-v将是详细的输出,并且-T将 SSH 设置为“禁用伪 tty 分配”,因此它不会创建真正的交互式会话;它本质上只是尝试连接到远程主机,然后断开连接。用于测试。