VCsrepo指定要使用的ssh密钥

时间:2014-08-12 17:17:38

标签: svn module puppet

我正在尝试编写一个模块,其中puppet将获取SVN repo,并且我希望它使用特定的密钥来获取存储库。如何在SVN VCSrepo中指定ssh密钥?

the documentation上,它说我们可以使用vcsrepo来管理ssh密钥,但是在their website

上没有任何关于如何执行此操作的SVN示例

2 个答案:

答案 0 :(得分:1)

嗯,确实有点令人困惑。文档说明

  

当您的源使用SSH时,例如'username @ server:...',您可以使用vcsrepo中的require元参数来管理您的SSH密钥,以确保它们存在。

这意味着您通过独立资源管理密钥,例如

file { '/home/svn-user/.ssh/id_rsa': ... }

关于你的问题,documentation看起来并不是很有希望,遗憾的是:

  • ssh_identity功能,但仅适用于githg提供商
  • 对于这些提供商,您可以使用identity参数指定密钥

我不确定从此功能中排除svn背后的原因。对于Freenode上的puppet-dev邮件列表或#puppet-dev IRC频道来说,这似乎是一个有效的问题。

答案 1 :(得分:0)

可以这样做,但它需要在Puppet之外步进,并使用自定义隧道协议配置Subversion客户端。基本上,在~/.subversion/config中放了这样的东西:

[tunnels]
ssh_user_<remote_user> = $SVN_SSH ssh -q -l <remote_user> -o IdentityFile=<ssh_identity_file>

我写过如何做on my site