14

假设我的 bitbucket 用户名是“jon”,并且我在https://bitbucket.org/jon.

假设我随后加入了一个开发团队,该团队有一个名为“devteam”的 bitbucket 帐户,可以在https://bitbucket.org/devteam

然后假设我正在设置一台新机器。我生成了一个 ssh 密钥对,id_rsa它们id_rsa.pub位于~/.ssh. 然后我的开发团队负责人将我id_rsa.pub的公钥添加到 bitbucket 上的 devteam 帐户。现在我可以从 devteam 帐户克隆项目并开始工作了。

接下来我想与我自己的jon帐户进行交互。但是,我无法将id_rsa.pub密钥添加到我的 bitbucket 帐户,因为 bitbucket 告诉我该密钥已添加到帐户中。这意味着我必须生成第二个密钥对。所以我ssh-keygen -f ~/.ssh/jon -C "jon"按照这里的指示运行:https ://confluence.atlassian.com/pages/viewpage.action?pageId=271943168然后我将此jon.pub密钥添加到我jon在 bitbucket 的帐户中。

现在我有两个密钥对,id_rsa并且jon,我必须配置何时使用哪个密钥。按照上面链接的 bitbucket 帮助页面中的说明,我config在我的目录中创建了一个文件,~/.ssh其中包含以下内容:

Host devteam
 HostName bitbucket.org
 IdentityFile ~/.ssh/id_rsa
Host jon
 HostName bitbucket.org
 IdentityFile ~/.ssh/jon

然后我被告知我可以进行以下替换:从git@bitbucket.org:jon/reponame.gitgit@jon:jon/reponame.git

所以我尝试执行以下命令:git clone git@jon:jon/reponame.git我收到以下错误:

Initialized empty Git repository in /home/jon/dev/reponame/.git/
Bad owner or permissions on /home/jon/.ssh/config
fatal: The remote end hung up unexpectedly

我做错什么了?

编辑:这是我~/.ssh目录中的文件权限:

[jon@linuxmachine ~/.ssh]
 1$ ls -alh
total 32K
drwx------.  2 jon 4.0K Jan 18 19:20 ./
drwx------. 11 jon 4.0K Jan 18 19:34 ../
-rw-rw-r--.  1 jon  132 Jan 18 19:20 config
-rw-------.  1 jon 1.8K Jan 18 15:21 id_rsa
-rw-r--r--.  1 jon  406 Jan 18 15:21 id_rsa.pub
-rw-------.  1 jon 1.7K Jan 18 18:45 jon
-rw-r--r--.  1 jon  390 Jan 18 18:45 jon.pub
-rw-r--r--.  1 jon  808 Jan 18 18:40 known_hosts
4

3 回答 3

15

我有同样的问题。在我将文件的权限更改为之后~/.ssh/config-rw-r--r--错误

Bad owner or permissions on /home/username/.ssh/config
fatal: The remote end hung up unexpectedly

消失了。

在控制台中写入:

cd ~/.ssh
chmod 644 config
于 2013-10-31T12:44:16.637 回答
0

关于出现在../.ssh/文件夹中的 RSA 文件,我通过删除任何损坏的文件修复了这个问题,然后在安装 GitHub 时再次生成。

于 2014-03-17T16:21:53.320 回答
0

这些命令应该可以解决问题:

chown $USER ~/.ssh/config
chmod 644 ~/.ssh/config

sudo如果文件由不同的用户拥有,则带有前缀。

如果有更多文件受到影响,请替换config*.

man ssh我们可以阅读:

由于存在滥用的可能性,因此该文件必须具有严格的权限:用户读/写,其他人不可写。如果所讨论的组仅包含用户,则它可以是组可写的。

于 2015-08-03T11:28:43.397 回答