Puppet在Git中为我们传递SSH密钥到VM

时间:2015-06-04 14:54:49

标签: linux git ssh vagrant puppet

我正在使用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。

0 个答案:

没有答案