代码之家  ›  专栏  ›  技术社区  ›  Naghi

如何将ssh隧道远程添加到现有的repo?

  •  0
  • Naghi  · 技术社区  · 1 年前

    我的笔记本电脑上有一个本地回购,已经有一个叫 origin 。除了我的笔记本电脑和 起源 ,还有第三台机器叫 remote1 我想将其作为另一个远程添加到我的本地回购中。我在笔记本电脑上做的是

        git remote add remote1
        git remote set-url remote1 ssh://sshUser@remote1Address:path/to/.git
    

    但当这样做时,命令 git push remote1 branchName 给予

      ssh: connect to host remote1Address port 22: Connection timed out.
    

    访问remote1通过 ssh 只能通过 跳转代理。 Port 22 关闭是在中使用跳转代理的主要原因 案例这是我的 .ssh/config

    Host jumpProxy
        Hostname jumpProxyAddress
        User jumpUser
    
    Host remote1
        Hostname remote1Address
        User sshUser
        ProxyJump jumpUser@jumpProxyAddress
    

    所以我想 问题的根源在于根本没有调用跳转代理,即 是 .ssh/config 根本没有阅读。你建议什么解决方案?

    1 回复  |  直到 1 年前
        1
  •  1
  •   Jim Redmond    1 年前

    我认为你有两个问题 git remote set-url 声明:

    1. 您已经为定义了特定的主机名 remote1 在里面 ~/.ssh/config 使用代理和用户详细信息,但您没有使用它。
    2. URL格式不正确:如果要使用 ssh:// 那么应该在 user@host 详细信息和存储库路径(不是冒号)。

    您应该能够用一句话来解决这两个问题: git remote set-url remote1 ssh://remote1/path/to/.git 。(请注意,没有 user@ 那里它在您的 ~/.ssh/config .)