为bitbucket帐户设置ssh-keys(使用mac osx)

时间:2016-07-08 14:16:23

标签: macos bitbucket ssh-keys ssh-agent

我有一个BitBucket帐户。尽管在计算机上设置了ssh key,然后将其添加到我的bitbucket帐户中,但我仍无法连接:

$ git clone git@bitbucket.org:my-account/myrepo.git 
Cloning into 'myrepo'...
conq: repository does not exist.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

我做了以下事情:

$ cd ~/.ssh

$ ssh-keygen -f ~/.ssh/my-key -N ''

$ vim config
Host bitbucket.org
  HostName bitbucket.org
  IdentityFile ~/.ssh/my-key

$ ls -l
-rw-------  1 me  ...   229 Jul  8 15:50 config
-rw-------  1 me  ...  1679 Jul  8 14:07 my-key
-rw-r--r--  1 me  ...   411 Jul  8 14:07 my-key.pub

然后我在我的bitbucket帐户的ssh key中添加了my-key.pub的内容。然后我重新克隆了我的repository

$ git clone git@bitbucket.org:my-account/myrepo.git 
Cloning into 'myrepo'...
conq: repository does not exist.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

我在另一台机器上重复了相同的程序,它起作用了:

$ git clone git@bitbucket.org:my-account/myrepo.git
Initialized empty Git repository in /home/me/.ssh/myrepo/.git/
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.

我现在需要在我的第一台机器上做同样的事情。 作为最后的手段,我使用ssh-agent在网上提供了一些建议:

$ eval `ssh-agent -s`
$ ssh-add ~/.ssh/my-key

但仍然没有运气:

$ git clone git@bitbucket.org:my-account/myrepo.git 
Cloning into 'myrepo'...
conq: repository does not exist.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

我不知道第一台机器有什么不同,为什么拒绝我的请求?

编辑1

当然,我尝试按照D.Samchuk

的建议,以非常基本的方式进行操作

生成id_rsa

$ ssh-keygen -t rsa
enterx3

复制密钥的确切内容

$ cat ~/.ssh/id_rsa.pub

我在我的BitBucket帐户的ssh密钥中添加了id_rsa.pub的内容。

Git clone仍然不允许我访问存储库,与上面相同的输出错误消息。

编辑2

我不知道它可能与mac配置有关吗?由于另一台机器是redhat linux,我只是想知道,但无法找到任何报告的类似问题。

3 个答案:

答案 0 :(得分:4)

只需执行以下操作:

$ ssh-keygen -t rsa

name:id_rsa

密码:只需按两次输入即可避免每次连接时都使用print关键字

$ cat ~/.ssh/id_rsa.pub

复制输出

打开bitbucket - >个人资料 - > bitbucket设置 - >添加ssh密钥 - >粘贴你的输出

答案 1 :(得分:1)

如果您没有为ssh密钥使用密码,则不应该使用ssh-agent

https://help.github.com/articles/working-with-ssh-key-passphrases/

答案 2 :(得分:0)

解决。当我深入研究这个问题时,我发现它绝对与ssh密钥无关,而是与错误消息建议的缺少存储库有关。这完全是关于使用git config --global试验全局配置,这搞砸了我在该计算机上的git配置。我在另一个帖子中详细说明了我的步骤:https://unix.stackexchange.com/questions/294780/git-retains-remote-information-from-a-deleted-repository/294809#294809