代码之家  ›  专栏  ›  技术社区  ›  Nikita Fedyashev

悲伤的故事-git+ssh+ruby

  •  1
  • Nikita Fedyashev  · 技术社区  · 16 年前

    问题:

    我需要在Ruby中验证git repo属性(ssh-key,repo-url) 解决:

    1)将ssh密钥写入 ~/.ssh/id_rsa 归档并执行 git clone 具有repo url属性的命令-最简单的方法

    • 导致多个用户试图检查其回购时出现竞争条件。

    2)将密钥写入任何文件并链接服务器并输入 ssh.config 文件,而不是按顺序执行git

    - sH.CONFIG 文件长度有限(255条记录)

    3)添加密钥通过 ssh-agent 按顺序执行git

    • Ruby无法处理密码请求(如果ssh密钥受密码保护)

    简历:

    所以我需要普遍的解决方案 ssh -i )这很容易使用,干净,将在多线程环境中工作,所有错误都可以通过基本IO(exec等)处理。

    1 回复  |  直到 16 年前
        1
  •  2
  •   Brian Phillips    16 年前

    也许你可以用 GIT_SSH 使git使用自己的ssh包装器的环境变量。该脚本可以查看其他环境变量并调用 ssh 有适当的选择。

    推荐文章