ruby - 悲伤的故事 - git+ssh+ruby

标签 ruby git ssh

问题:

我需要在 ruby​​ 中验证 git repo 属性(ssh key 、repo url)
解决方案:

1) 将 ssh key 写入 ~/.ssh/id_rsa文件并执行git clone带有 repo url 属性的命令 - 最简单的方法

  • 当多个用户尝试检查他们的存储库时会导致竞争条件。

  • 2) 将 key 写入任何文件并链接服务器并键入ssh.config文件比以顺序方式执行 git

    - ssh.config文件长度有限(255 条记录)

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

  • 恢复:

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

    最佳答案

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

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

    相关文章:

    ruby-on-rails - 有条件地在 Rails 的 url 路径中包含参数

    git - 我的 VS Code SCM 装订线指示器突然出现奇怪的图案

    python - paramiko ssh 客户端在主机 key 签名不匹配中失败

    url - gitlab克隆URL没有命名空间?

    linux - SSH 远程命令结果未正确显示

    Ruby FTP 从文件夹中分离文件

    ruby - 在 Ruby 中覆盖 "for"关键字。是否可以?

    ruby - 如何将 header 写入现有 CSV?

    git - 有没有办法从GitHub上已删除分支的PR中获取代码?

    python - 在没有 git 的情况下分配目录的 git SHA