【问题标题】:How svntask pass the user and password into svn when it's using ssh tunnelling?svntask 在使用 ssh 隧道时如何将用户和密码传递给 svn?
【发布时间】:2013-03-19 10:08:07
【问题描述】:

我正在通过 SSH 使用 SVN 存储库,我想使用 svn 命令行工具和 svn+ssh 架构,来自人们共享的通用帐户来构建相同的代码。

我们目前是这样使用ant来构建的。您可以看到它提示输入具有 SVN 权限的用户/密码

<target name="update">
        <input message="username:" addproperty="username" />
        <input message="password:" addproperty="password" />

        <svn username="${username}" password="${password}">
            <update dir="${my.dir}"/>
        </svn>
</target>

当您尝试在命令行(在 Solaris 上)上使用 svn {command} svn+ssh/repo 时,ssh 默认使用当前用户。当前用户是一个通用帐户,没有进入 SVN 存储库的权限。

我希望 svn 提示我输入用户名和密码。

我知道我可以像这样将我的用户名传递给 svn

svn info svn+ssh://me@svn-server/apps/app

但是,如果我想将它放在一个脚本中以供任何使用构建服务器的通用帐户的人使用,那就不好了

我想要的只是命令行提示,就像ant任务一样。

有没有办法做到这一点?

我已尝试将 .subversion/auth 目录中的所有条目移开,并在 .subversion/config 文件中取消注释 store-passwords = no 和 store-auth-creds = no

如果没有,蚂蚁是怎么做到的?

谢谢

【问题讨论】:

    标签: svn ant ssh


    【解决方案1】:

    您可以使用 ~/.ssh/config 文件为该特定存储库指定用户名,例如

    http://nerderati.com/2011/03/simplify-your-life-with-an-ssh-config-file/

    可以为不同的主机指定不同的用户名等

    在 ssh 手册页中,您可以使用 -F 选项来告诉 ssh 使用特定的配置文件(而不是默认的 ~/.ssh/config)。

    既然您使用的是脚本,您能否让脚本提示用户输入用户名,然后使用输入的用户名创建配置文件?

    【讨论】:

      猜你喜欢
      • 2017-08-04
      • 2010-10-02
      • 2020-02-15
      • 1970-01-01
      • 2022-11-19
      • 2021-06-16
      • 2017-08-01
      • 2020-05-31
      • 1970-01-01
      相关资源
      最近更新 更多