木偶使用主人的SSH密钥git克隆?

我正在使用vcsrepo puppet模块来同步git存储库。

# install git repo vcsrepo { "/home/repo": ensure => present, provider => git, source => "[email protected]:pk2klic/test.git", } 

它正在主服务器上,我已经做了一个RSA密钥,并上传公钥到bitbucket。

我有许多代理节点,因此手动上传每个节点的密钥是不切实际的。

有没有解决方法,我可以使用主人的ssh密钥克隆应用我的木偶文件? 还是我最好尝试创build一个在每个节点上创build新密钥的自动化过程?

理想情况下,您需要为每个节点创build新的密钥。 这是基于密钥的SSHauthentication的关键。

如果一台服务器受到威胁,您可以停止信任该特定密钥,将其replace,然后继续。

现在,如果您真的想按照您build议的方式使用一个密钥,那么您将需要确保私钥在每个主机上。 我将把这个作为练习留给你弄清楚如何做到这一点。

然后,您将configuration~/.ssh/config来指定您要访问该存储库时要使用的密钥。 您可能需要执行以下操作:

你的木偶configuration:

  # install git repo vcsrepo { "/home/repo": ensure => present, provider => git, source => "git@bitbucket:pk2klic/test.git", } 

~/.ssh/config

 Host bitbucket Hostname bitbucket.org IdentityFile ~/.ssh/id_rsa-bitbucket IdentitiesOnly yes 

请注意我在这里对git仓库所做的更改。 我正在使用别名bitbucket而不是真正的主机名。 真正的主机名在.ssh/config文件中设置。 我假设你已经把你的共享私钥放在~/.ssh/id_rsa-bitbucket

这样,如果用户只是推/拉回购,它将使用特定的密钥,但如果他们想从BitBucket克隆自己的个人资料,他们可以使用真正的[email protected]:example/example.git ,它将只使用他们的个人SSH密钥(就像通常那样)。