假设我的 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.git
到git@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