【问题标题】:svn authentication from cron job (osx 10.7)来自 cron 作业的 svn 身份验证(osx 10.7)
【发布时间】:2023-04-03 01:33:01
【问题描述】:

我设置了一个 crontab 条目来从 svn 存储库中提取代码 - 我以前做过,所以不确定这次我错过了什么。它在 OSX 10.7 (Lion) 上。

如果 repo 是公开的,它可以正常工作。

如果 repo 是私有的(即需要用户/密码),即使我的凭据被缓存,身份验证也会失败,因为通常我可以在命令行中执行此操作而无需用户/密码提示。

cron 生成的邮件告诉我,我运行的是同一个 shell,是同一个用户,主文件夹是正确的,等等。但是 svn 无法导出文件;我可以在错误 cron 向我发送电子邮件中看到它要求输入密码,没有得到它,然后询问用户,没有得到它,最后失败并显示消息:

授权失败:无法对服务器进行身份验证:拒绝基本质询 (具体网址我省略了)

我尝试了 --non-interactive 和 --config-dir 选项,但没有成功,尽管我以前从未这样做过。

想法?

谢谢,德克萨斯州奥斯汀的托马斯·布洛姆

【问题讨论】:

  • 只是一个想法:也许你会启用详细输出,将stderr重定向到日志,它会给你|我们一些食物?对于基于 http 的 repo:“要获得更详细的 subversion 操作输出,您必须在客户端中启用 neon 调试。编辑 ~/.subversion/servers 文件,将行 neon-debug-mask = 130 添加到 [global] 部分文件,确保您也取消注释 [global] 行。”
  • 这是不同论坛上的同一个问题;那里的用户发布了如何为 ssh-agent 解决此问题,但我不确定如何将其应用于 svn。不幸的是,听起来答案是“使用launchctl”。 apple.stackexchange.com/questions/18832/…

标签: svn authentication cron


【解决方案1】:

svn help co

Global options:
  --username ARG           : specify a username ARG
  --password ARG           : specify a password ARG

【讨论】:

  • 虽然这确实有效,但似乎还需要我允许 svn 将未加密的密码存储到磁盘,这不是一个好的解决方案,因为这意味着我必须存储用户名并传入 cronjob等等。通常,如果您有缓存的凭据,则不必显式提供此信息——如果我在命令提示符下,我不必提供它,只要它是从 cron 作业运行的。
  • @ThomasBlom - 也许 个人 crontab 会是你的解决方案?
  • @ThomasBlom 和 你可以 使用 --config-dir 进行身份验证,但我认为从 from 兑现身份验证是更正确的方向
  • 是的,我尝试了 --config-dir 没有运气。这是一些 OSX Lion 问题,而不是一般的 svn 问题。请参阅此链接,详细描述与 ssg-agent 相同的问题。 apple.stackexchange.com/a/39614
【解决方案2】:

试试这个...虽然我承认这很愚蠢,但它对我有用。

我使用一个虚拟帐户来完成我的 SVN / Cron 工作,我最近遇到了同样的事情。 OSX 狮子。

我可以在命令行上运行命令,但不能通过 cron。我无法解释,因为我很着急,所以我把研究留给你们。这是我为解决我的问题所做的:

  1. 使用 SSH 远程登录您的帐户
  2. 递归删除 ~/Library/Keychains
  3. 当仍然远程登录时,执行你的 svn 命令(我在我的 ~/.subversion/servers 中有设置来保存密码等,仅供参考)

这对我有用。出于某种原因,Mac 的钥匙串干扰了颠覆的内置 save_my_authentication 方法,因为我可以在钥匙串中看到我的 LDAP/SVN 命令的条目。但是 Keychains 似乎没有通过 Cron 使用它,或者...... cron 不使用 Keychains :) (最后一部分可能是真的)

显然,如果这是您的个人帐户,您可能不想删除 Keychain 目录!您可以尝试仅删除钥匙串中的 SVN 条目,然后在远程使用 SSH 时执行 SVN 命令。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-07
    • 1970-01-01
    • 2014-10-18
    • 2015-08-27
    • 1970-01-01
    • 2020-09-19
    • 2019-02-02
    • 1970-01-01
    相关资源
    最近更新 更多