我正在使用Vagrant使用PUPHPET的配置将VM配置到DigitalOcean上。我需要克隆私人git仓库。我已经创建了一个SSH密钥用于使用Puppet vcsrepo模块验证请求,但似乎我的SSH密钥没有被正确选取。
我已将Vagrant config.ssh.forward_agent
设置为true,config.ssh.private_key_path
指向我Mac上的本地rsa文件。这也用于DigitalOcean密钥。
我可以在VM上的~/.ssh/authorized_keys
看到我的密钥。
git clone
失败,如果它是私人回购。我尝试使用公共回购,但它很成功。
这是Puppet vcsrepo命令:
vcsrepo { '/var/www/html':
ensure => present,
provider => git,
source => 'https://******@bitbucket.org/****.git',
require => '~/.ssh/authorized_keys',
}
这会产生错误No title provided and "~/.ssh/authorized_keys" is not a valid resource reference at /tmp/vagrant-puppet/manifests-893fcd
我也尝试过身份属性:
vcsrepo { '/var/www/html':
ensure => present,
provider => git,
source => 'https://******@bitbucket.org/****.git',
identity => '~/.ssh/authorized_keys',
force => true
}
这会给fatal: could not read Password for 'https://billyjones@bitbucket.org': No such device or address
使用Debian 7。