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

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

我按照 Bitbucket 的说明添加了 SSH 密钥并使用 git,而不必每次都进行身份验证。我按照此处的说明进行操作。然后我收到以下消息:ssh -T [email protected]

Bad owner or permissions on /home/centos/.ssh/config

检查 SSH 权限后显示:

cat ~/.ssh/config
Host bitbucket.org
 IdentityFile ~/.ssh/id_rsa

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

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

更新:我得到的两个答案都提到了权限,但我已经检查过了。~/.ssh/id_rsa和分别由我的用户和~/.ssh/id_rsa所有。 我甚至尝试对这两个文件进行 chmod,但得到了相同的消息。664600777

答案1

我得到的两个答案都提到了权限,但我已经检查过了。~/.ssh/id_rsa和分别由我的用户和~/.ssh/id_rsa所有 。 我甚至尝试对这两个文件进行 chmod,但得到了相同的消息。664600777

777权限永远不会起作用。SSH 权限非常严格,像这样开放权限只会导致错误。此外,您对其他问题的评论表明这些是您当前的权限:

-rw-rw-r--. 1 centos centos 47 May 17 20:33 /home/centos/.ssh/config 

这些是664的权限-rw-rw-r--。您想要的是600的权限-rw-------。因此,请尝试这样做;首先~/.ssh/config像这样更改权限:

chmod 600 /home/centos/.ssh/config

现在对~/.ssh/id_rsa

chmod 600 /home/centos/.ssh/id_rsa

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

ssh -v -T [email protected]

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

答案2

正如错误所指示的...使用类似以下命令检查所有权和权限ls -l /home/centos/.ssh/config

它应该归您所有 ( centos),并且模式为600( rw-------) 或400( r--------)。

答案3

我会运行一个

sudo chown <username>:<username> ~/.ssh/config

您的系统用户名在哪里<username>将文件所有者更改为<username>

删除它,然后使用当前用户(而不是使用 sudo)重新创建它也可以。我怀疑这是由于以 root 身份创建文件造成的。

相关内容