configurationsshvirtual-machineiptablesgitlab

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


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 git@git.domain.com:group/project.git

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

Wellformed

git remote add origin git@git.domain.com: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://git@git.domain.com: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