【问题标题】:Access Git repo via SSH tunnel通过 SSH 隧道访问 Git 仓库
【发布时间】:2013-06-02 08:55:00
【问题描述】:

我可以访问一个 SSH 帐户,该帐户可以访问 GIT 服务器,并且能够在此 SSH 登录中克隆/推送/拉取存储库。但是我无法从其他地方访问这个 repo。

在我使用的 SSH 帐户上,

git clone git@gitserver:proj/myrepo.git

克隆存储库。

我尝试使用从另一台机器到 git 服务器的 ssh 隧道设置,

ssh -L 3333:gitserver:22 userid@sshserver
git clone ssh://localhost:3333/proj/repo.git

但是,我不断收到提示输入用户“git”的密码。有什么想法我在这里做错了吗?

【问题讨论】:

    标签: git ssh ssh-tunnel


    【解决方案1】:

    当你这样做时:

    git clone git@gitserver:proj/myrepo.git
    

    一个 ssh 客户端正在本地主机 ('sshserver') 上启动,并使用公钥身份验证通过 'gitserver' 进行身份验证。如果系统提示您输入用户 'git' 的密码,则表示公钥身份验证失败,ssh 将进入下一个方法,即密码身份验证。

    公钥认证失败的最可能原因是 ssh 客户端没有所需的私钥。我怀疑在这种情况下,作为“git@gitserver”进行身份验证所需的密钥位于 sshserver:~/.ssh 中,在这种情况下,当您尝试克隆 repo 时,在本地主机上启动的 ssh 客户端将无法使用它通过您的 ssh 隧道。

    要解决此问题,您需要授予该客户端访问相应密钥的权限。您可以将其添加到本地 ~/.ssh,或将其加载到 ssh 代理中。

    【讨论】:

    猜你喜欢
    • 2014-12-15
    • 2010-11-17
    • 2016-09-08
    • 2019-07-15
    • 2011-10-18
    • 2020-01-28
    • 2011-09-11
    • 1970-01-01
    • 2017-12-26
    相关资源
    最近更新 更多