克隆 git 时 vagrant setup 抛出 Permission denied (publickey)
Posted
技术标签:
【中文标题】克隆 git 时 vagrant setup 抛出 Permission denied (publickey)【英文标题】:vagrant setup throws Permission denied (publickey) when cloning git 【发布时间】:2016-01-05 18:11:49 【问题描述】:我正在尝试在给定 Vagrantfile
的客户上运行 vagrant setup
以将他的 puppet 项目设置到我的开发环境中,我以前从未使用或听说过 Vagrant,
它会引发以下错误
REPO: /var/www/project/project-puppet/deploy/vagrant/hiera/common
SETUP: Cloning ssh://git@source.sanoma.com:7999/devops/hiera-common.git
Cloning into '/var/www/project/project-puppet/deploy/vagrant/hiera/common'...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.
There was an error loading a Vagrantfile. The file being loaded
and the error message are shown below. This is usually caused by
a syntax error.
Path: /var/www/project/project-puppet/Vagrantfile
Line number: 113
Message: Errno::ENOENT: No such file or directory - /var/www/project/project-puppet/deploy/vagrant/hiera/common
P.S:我使用的是 Ubuntu 15.04
和流浪者 1.7.4
【问题讨论】:
setup
不是 vagrant
的公认选项 - 您可能想知道您正在使用哪个版本 (vagrant version
) 和插件(如果有)(特别是提供此新选项的插件) ) 你可以运行vagrant plugin list
也可以分享你的 Vagrantfile 可能会帮助其他人支持你
来自虚拟机,你能不能git clone ssh://git@source.sanoma.com:7999/devops/hiera-common.git
- 如果你有同样的错误,有很多文章讨论过这个问题
您似乎没有远程存储库的读取权限。请您的客户允许您访问它。他们将需要您的公共 SSH 密钥(通常可以在您的主目录中的 .ssh/id_rsa.pub
或 .ssh/id_dsa.pub
下找到。
@Oldskool 实际上我没有钥匙,他们说do you have defined your SSH key in your profile?
所以我认为这会解决问题
@riksof-zeeshan 似乎是问题所在,是的。我在下面添加了更多详细信息的答案。
【参考方案1】:
首先,你有拉取权限吗? 如果是,您是否设置了 ssh 密钥以通过 ssh 连接访问此存储库?如果没有,请设置它。
关于设置 ssh 访问的 github 指南。 (不同的 git 主机类似)
ssh key generation
【讨论】:
riksof,您需要将生成的整个公钥块添加到您的帐户配置文件中,无论它是哪个 git 主机。确保您的个人资料具有正确的公共 ssh 密钥。大多数 git 托管站点都有 ssh 密钥生成指南。如果您确定 SSH 已正确完成并且您仍然遇到相同的问题,则可能是其他一些身份验证问题。类似情况参考这里***.com/questions/18551556/…【参考方案2】:您似乎无权访问远程存储库,因为它无法识别/找到您的 SSH 密钥。你应该有一个像~/.ssh/id_rsa.pub
或~/.ssh/id_dsa.pub
这样的文件。
如果您不这样做,您可以通过从控制台运行 ssh-keygen -t rsa
创建一个新密钥。只需按照这些步骤操作,您的 homedir 中就会有一个 .ssh/id_rsa.pub
文件。
确保您的客户获得该公钥(不要不发送您的私钥(id_rsa
文件),这仅供您使用/查看)。一旦他们拥有它并允许它访问存储库,您应该能够克隆它。
【讨论】:
好吧,我自己将 pub 密钥添加到了 git,因为我有写权限,但我仍然有同样的问题。 注意:对我来说,实际上我必须注销并重新登录才能在 vagrant 用户的配置文件中找到新生成的密钥(又名“vagrant reload”)以上是关于克隆 git 时 vagrant setup 抛出 Permission denied (publickey)的主要内容,如果未能解决你的问题,请参考以下文章
sh Laravel ScotchBox SetUp Vagrant Box