git - SSH 建议,从多个跳转中克隆 git

标签 git ssh git-stash

这有点奇怪,我不知道如何解决它。

目前,我们有一个用于连接客户的跳转框:

Host jump.server.com
 Hostname jump.server.com
 ForwardAgent yes
 ForwardX11 yes
User first.last
 Port 22
 DynamicForward 9999

然后我连接到我的客户:
Host jump.customer.com
  User server
  ForwardAgent yes
  ProxyCommand ssh -qaxT jump.server.com nc 10.xx.xx.x1 22

然后这个客户有一个本地 Stash 服务器:
Host stash.customer
  User server
  ForwardAgent yes
  ProxyCommand ssh -qaxT jump.customer.com nc 10.xx.xx.x2 22

我想从本地机器上的 stash 克隆一个 repo,目前我可以从 jump.customer.com 克隆它而没有任何问题,见下文:
server@jump.customer.com:~/repos $ git clone ssh://git@stash.customer:7999/cm/repo.git
Cloning into 'repo'...
remote: Counting objects: 37, done.
remote: Compressing objects: 100% (37/37), done.
remote: Total 37 (delta 22), reused 0 (delta 0)
Receiving objects: 100% (37/37), 5.41 KiB | 0 bytes/s, done.
Resolving deltas: 100% (22/22), done.
Checking connectivity... done.

但是,当我尝试在本地计算机上执行此操作时,我得到以下信息:
└─ $ ▶ git clone ssh://git@stash.customer:7999/cm/repo.git
Cloning into 'repo'...
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

起初我认为这意味着我的 key 不在此 repo 的存储服务器上,但它是所以我查看了 stash.customer 上的安全日志
Oct 21 09:42:48 stash.customer sshd[24122]: Invalid user git from 10.xx.xx.1
Oct 21 09:42:48 stash.customer sshd[24123]: input_userauth_request: invalid user git
Oct 21 09:42:49 stash.customer sshd[24123]: Connection closed by 10.xx.xx.1

存储服务器或跳转机上没有用户调用git,这是问题吗?我确信 stash 不需要传统的 ssh 用户,因为它目前没有,我可以在网络中克隆。

TLDR;由于使用了多个跳转,我无法仅在网络内克隆本地计算机上的存储库。

最佳答案

我通过为 stash.customer 添加新记录并在特定存储端口上转发来解决此问题。

Host stash-customer.domain.com
User system
ForwardAgent yes
ProxyCommand ssh -qaxT jump.customer.com nc 10.x.xx.xx 7999

关于git - SSH 建议,从多个跳转中克隆 git,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40173403/

相关文章:

vim - neovim使用VIMINIT在ssh上移动配置(几乎可以正常工作)

javascript - Yarnpkg 无法通过 ssh 添加私有(private)包,尽管我已经添加了它

git - 我可以从远程存储库中获取存储到本地分支吗?

linux - 错误 : RPC failed; curl 56 OpenSSL SSL_read: error:140943FC:SSL routines:ssl3_read_bytes:sslv3 alert bad record mac, 错误号 0

python - 为什么我的 post-receive Hook 在从子进程管道读取时挂起?

git - Vim:在没有 Fugitive 的 lightline 状态行中显示当前的 git 分支

linux - Unix 命令将用户添加到允许 SSH 访问的允许用户列表?

git - 撤消 git pull --rebase

git - 如何备份多个存储?

git - 在 git repo 和工作副本中强制 LF eol