Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Svn VCsrepo指定要使用的ssh密钥_Svn_Module_Puppet - Fatal编程技术网

Svn VCsrepo指定要使用的ssh密钥

Svn VCsrepo指定要使用的ssh密钥,svn,module,puppet,Svn,Module,Puppet,我正在尝试编写一个模块,其中puppet将获取一个SVN repo,我希望它使用一个特定的键来获取存储库。如何在SVN VCSrepo中为指定ssh密钥 上面说我们可以使用vcsrepo来管理ssh密钥,但是SVN在上没有任何关于如何管理ssh密钥的示例。当然,这有点令人困惑。文件说明 当您的源代码使用SSH时,例如'username@server:…',您可以使用vcsrepo中的require元参数使用Puppet管理SSH密钥,以确保它们存在 这意味着您可以通过一个独立的资源来管理密钥,例

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


上面说我们可以使用vcsrepo来管理ssh密钥,但是SVN在

上没有任何关于如何管理ssh密钥的示例。当然,这有点令人困惑。文件说明

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

这意味着您可以通过一个独立的资源来管理密钥,例如

file { '/home/svn-user/.ssh/id_rsa': ... }
关于你的问题,令人遗憾的是,这项计划看起来不太有希望:

  • 有一个
    ssh\u identity
    功能,但它仅适用于
    git
    hg
    提供商
  • 对于这些提供程序,您可以使用
    identity
    参数指定密钥

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

这是可以做到的,但需要跳出puppet并使用自定义隧道协议配置Subversion客户端。基本上,在
~/.subversion/config
中放置如下内容:

[tunnels]
ssh_user_<remote_user> = $SVN_SSH ssh -q -l <remote_user> -o IdentityFile=<ssh_identity_file>
[隧道]
ssh\u user\uu=$SVN\u ssh-q-l-o IdentityFile=

我写了关于如何做到这一点的文章。

是的,看来到目前为止,VCSrepo不支持标识,我尝试过,但svn出现了错误。是的,我就是这么说的。也许
svn
应该只依赖于执行签出的
用户自然拥有的密钥。