多个bitbucket帐户的ssh配置 - 简单示例,但是"远程端挂起意外"

jon*_*omo 13 git bitbucket ssh-keys

假设我的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
Run Code Online (Sandbox Code Playgroud)

然后我被告知我可以进行以下替换:从.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
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

编辑:以下是我的~/.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
Run Code Online (Sandbox Code Playgroud)

Gee*_*Bee 14

我有同样的问题.之后,我改变了文件的权限~/.ssh/config-rw-r--r--,错误

Bad owner or permissions on /home/username/.ssh/config
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)

消失了.

在控制台中写:

cd ~/.ssh
chmod 644 config
Run Code Online (Sandbox Code Playgroud)