如何越过跳板机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代码?

gitlab Linux git

smiling 10 years, 5 months ago
  • 本地建立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

17夜前1夜 answered 10 years, 5 months ago

Your Answer