5 ms·
Why not use the URL syntax? Then you can do git clone ssh://git@gitlab.example.com:2222/path/torepo.git which shouldn't be mangled by the shell. (In fact,
by wolfgang42 9y ago
Why not use the URL syntax? Then you can do
git clone ssh://git@gitlab.example.com:2222/path/torepo.git
which shouldn't be mangled by the shell. (In fact, this is the syntax that GitLab gives you by default.)
Alternatively, each user could put into their ~/.ssh/config:
Host gitlab
Hostname gitlab.example.com
Port 2222
User git
and then use "gitlab:path/torepo.git" instead.
(In this particular scenario a bastion host probably isn't useful, since you'd have to copy the SSH keys out of gitlab into the bastion and make sure you get the management/security right. A web search for "ssh forward git user" turns up a number of people struggling with your problem; none of them seem to have entirely satisfactory answers.)
- mschuster91 9y agoBecause gitlab does not provide this syntax (if you do know how to get it that way, please tell me!), and people like to copy-paste... and getting people to set up their .ssh/config, tried that and failed, I would not ask if that were an option :(
- wolfgang42 9y agoMy GitLab CE instance (also docker) provides the URL syntax, so I did some spelunking through GitLab's source to figure out what might be different with your instance and found build_gitlab_shell_ssh_path_prefix: https://gitlab.com/gitlab-org/gitlab-ce/blob/c946ee1282655d332da4ba99c448d6f68cf87cee/config/initializers/1_settings.rb#L37 https://gitlab.com/gitlab-org/gitlab-ce/blob/c946ee1282655d3... The gist of it is that it looks like you probably have "git.my.tld:22222" set somewhere in your config file, which should be removed and replaced with: gitlab_rails['gitlab_shell_ssh_port'] = 22222 Alternatively, you may have gitlab_shell['ssh_path_prefix'] set which would cause the same symptoms.