8

我正在我的公司设置一些服务器配置,我们有一些内部存储库通过 bzr 运行 ssh,我需要获取这些存储库。我想使用 puppet-vcsrepo 来提取这些内容,我看到它有一种方法可以让我们使用密钥文件来获得我们想要的东西。解决此问题的最佳方法是什么?

我可能会为我们每个人创建一个用户帐户,但是我是否必须将我的私钥作为文件放入 puppet 中,然后将其传输过来?如何管理 puppet 内部的密钥,以便在不使用用户名和密码的情况下签出存储库 ssh?

这是信息的链接:https ://github.com/puppetlabs/puppetlabs-vcsrepo/blob/master/README.BZR.markdown

它说用 puppet 管理密钥,但我无法准确找到我需要知道的内容才能正确管理密钥。

4

1 回答 1

1

对 BZR 不太了解...会像回答基于 git/github 的问题一样回答

  • 如果您基于 github,请使用部署密钥(只读访问,可轻松撤销)而不是开发人员密钥。
  • 您可以通过将密钥复制到 ~/.ssh 并配置 ssh 来使用它来管理密钥?


file { '/user/home/.ssh/id_rsa-github-mycompany' :
 ... # access right ....
}

vcsrepo { "/path/to/repo": ... require => File[ '/user/home/.ssh'] }

您可能还需要调整 .ssh/config 以使用此标识文件并修改 git 存储库的主机名


Host github-mycompany-project
HostName github.com
  User git
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/id_rsa-github-mycompany
  IdentitiesOnly yes

另一种选择是使用 exec 和git_ssh_wrapper gem 而不是 vcsrepo ?

于 2013-12-26T07:19:25.913 回答