如何越过跳板机clone git项目?

serverA 跳板机,没有root权限
serverB 代码服务器,有root权限,
serverB 只能通过serverA登录,每次都需要本机先登录serverA再登录serverB。
现在我在serverB中创建了git项目projectA, 在projectA项目里init git,生成projectA,

请问如何在我本地clone serverB上的projectA?

而且,当我在serverA上clone projectA时,运行一下命令:
git clone root@serverB:/projectA/projectA.git
提示一下错误:

fatal: protocol error: bad line length character: tcge

在网上搜了一下解决方案,有说使用这个命令:usermod -s /bin/bash git
提示权限不够。

请问应该如何解决这个问题?

或者在公司内部需要用跳板机登录开发服务器时,如何建立版本控制系统,让我们可以在本机上push、pull代码?

阅读 6.9k
1 个回答
  • 本地建立ssh tunnel,必要时需输入密码
ssh -ND localhost:7070 username@serverA
# 端口可以改
  • 本地添加ssh proxy配置,编辑 ~/.ssh/config(没有则新建),末尾追加以下内容
Host serverB
ProxyCommand nc -x localhost:7070 %h %p
# 这行是注释不用拷进去,端口要跟上面命令一样
  • 本地clone
git clone root@serverB:/projectA/projectA.git
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题