Friday, October 28, 2022

[SOLVED] Gitlab with non-standard SSH port (on VM with Iptable forwarding)

Issue

My gitlab is on a virtual machine on a host server. I reach the VM with a non-standard SSH port (i.e. 766) which an iptable rule then forward from host:766 to vm:22.

So when I create a new repo, the instruction to add a remote provide a mal-formed URL (as it doesn't use the 766 port. For instance, the web interface give me this:

Malformed

git remote add origin [email protected]:group/project.git

Instead of an URL containing :766/ before the group.

Wellformed

git remote add origin [email protected]:766/group/project.git

So it time I create a repo, I have to do the modification manually, same for my collaborator. How can I fix that ?


Solution

if you configure the ssh_port correctly in config/gitlab.yml, the webpages will show the correct repo url.

## GitLab Shell settings
gitlab_shell:
  ...
  # If you use non-standard ssh port you need to specify it
  ssh_port: 766

ps. the correct url is: ssh://[email protected]:766/group/project.git

edit: after the change you need to clear caches, etc:

bundle exec rake cache:clear assets:clean assets:precompile RAILS_ENV=production


Answered By - gdamjan
Answer Checked By - Pedro (WPSolving Volunteer)