问题:

我需要在Ruby中验证git repo属性(ssh密钥,repo url)
解决方案:

1)将ssh密钥写入~/.ssh/id_rsa文件,并使用repo url属性执行git clone命令-最简单的方法

当多个用户尝试检查其回购协议(protocol)时,

  • 导致竞争状况。

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

    -ssh.config文件的长度受到限制(255条记录)

    3)通过ssh-agent添加密钥并以顺序方式执行git
  • ruby​​无法处理密码请求(如果ssh密钥受密码保护)

  • 恢复:

    所以我需要易于使用,清洁的通用解决方案(例如ssh -i),它将在多线程环境中工作,并且所有错误都可以通过基本IO(exec等)处理。

    最佳答案

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

    关于ruby - 悲伤的故事-git + ssh + ruby,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2272255/

    10-14 18:50
    查看更多