Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 多个bitbucket帐户的ssh配置-简单示例,但得到';远程端意外挂起';_Git_Bitbucket_Ssh Keys - Fatal编程技术网

Git 多个bitbucket帐户的ssh配置-简单示例,但得到';远程端意外挂起';

Git 多个bitbucket帐户的ssh配置-简单示例,但得到';远程端意外挂起';,git,bitbucket,ssh-keys,Git,Bitbucket,Ssh Keys,假设我的bitbucket用户名是“jon”,我在https://bitbucket.org/jon 假设我随后加入一个开发团队,该团队拥有一个名为“devteam”的bitbucket帐户,可在https://bitbucket.org/devteam 那么假设我正在安装一台新机器。我生成了一个ssh密钥对,id\u rsa和id\u rsa.pub,它们位于~/.ssh中。然后,我的开发团队负责人将我的id\u rsa.pub公钥添加到bitbucket上的devteam帐户。现在我可以从d

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

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

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

接下来,我想与我自己的
jon
帐户进行交互。但是,我无法将
id\u rsa.pub
密钥添加到我的bitbucket帐户,因为bitbucket告诉我该密钥已添加到帐户。这意味着我必须生成第二个密钥对。因此,我按照这里的指示运行
ssh-keygen-f~/.ssh/jon-C“jon”
:然后我将这个
jon.pub
密钥添加到我的
jon
bitbucket帐户中

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

Host devteam
 HostName bitbucket.org
 IdentityFile ~/.ssh/id_rsa
Host jon
 HostName bitbucket.org
 IdentityFile ~/.ssh/jon
然后我被告知我可以进行以下替换:From
git@bitbucket.org:jon/reponame.git
git@jon:jon/reponame.git

因此,我尝试执行以下命令:
git clonegit@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
我也有同样的问题。 在我将文件
~/.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

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

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

chown $USER ~/.ssh/config
chmod 644 ~/.ssh/config
如果文件属于不同的用户,则使用
sudo
作为前缀

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

manssh
中,我们可以看到:

由于存在滥用的可能性,此文件必须具有严格的权限:用户的读/写权限,而不是 可由他人书写的。它可以是组可写的,前提是该组仅包含用户


进入
/home/jon/.ssh/
,运行ls-alh检查您是否是config的所有者。同时尝试使用
-v
标志运行git clone。同时检查文件的权限。嗯,好的,我已经编辑添加了该信息。看起来我和我的团队对配置文件有读写权限。并且:
chown$USER config
以防万一。