好的,所以我几乎可以看到我在网上找到的所有想法和教程。
所以基本上我有一个Bitbucket repo,我想把它设置为每次有人推送回购时自动更新我的linux服务器。
我试图遵循这个Tutorial但是在第1步ssh,我没有做任何事情。
我在linux服务器上创建了一个ssh密钥。之后打开了.pub,我将其内容复制到我的BitBucket acc。
ssh-keygen -t rsa
添加了pub密钥后,我通过执行以下操作验证了它是否正常工作:
ssh -T git@bitbucket.org
我得到一个响应,添加主机keyfingerpint,一切正常,我得到了使用该密钥返回的用户名。
之后教程说要在.ssh文件夹中创建一个配置文件
Host bitbucket.org
IdentityFile ~/.ssh/bitbucket_rsa
之后它说尝试从BitBucket将repo克隆到我的服务器。 这就是我得到的错误。
****@Main:/var/www/repo$ sudo git clone git@bitbucket.org:******/******.git
Cloning into '******'...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
如果有人能帮助我,我会非常感激,因为我确实已经没有想法该做什么。
答案 0 :(得分:3)
您说的配置位于您自己的.ssh
文件夹中,但克隆操作是以root身份执行的(通过sudo
)。所以此密钥不相关,不考虑此操作。
您应该复制并激活/root
中的密钥。
答案 1 :(得分:0)
然后,您的Bitbucket帐户中的公钥未正确设置。
https://confluence.atlassian.com/display/BITBUCKET/Set+up+SSH+for+Git
步骤6.在Bitbucket帐户上安装公钥
转到步骤6并将您的公钥上传到Bitbucket。然后你应该有权访问你的回购。
编辑:
要使用您的私钥,您应将{_ 1}}的权利更改为您的id_rsa文件,否则您的系统无法加载密钥。