我正在尝试编写一个模块,其中puppet将获取SVN repo,并且我希望它使用特定的密钥来获取存储库。如何在SVN VCSrepo中指定ssh密钥?
在the documentation上,它说我们可以使用vcsrepo来管理ssh密钥,但是在their website
上没有任何关于如何执行此操作的SVN示例答案 0 :(得分:1)
嗯,确实有点令人困惑。文档说明
当您的源使用SSH时,例如'username @ server:...',您可以使用vcsrepo中的require元参数来管理您的SSH密钥,以确保它们存在。
这意味着您通过独立资源管理密钥,例如
file { '/home/svn-user/.ssh/id_rsa': ... }
关于你的问题,documentation看起来并不是很有希望,遗憾的是:
ssh_identity
功能,但仅适用于git
和hg
提供商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。