Git на пользовательском SSH-Порту

мой провайдер VPS рекомендует мне оставить свой SSH-порт на пользовательский номер порта, который они назначают по умолчанию (не 22). Дело в том, что, хотя я знаю, что могу дать номер порта при создании удаленной конфигурации, кажется, что я не могу сделать то же самое при выполнении клона git. Я использую gitolite, поэтому команды клонирования выглядят так:

git clone git@mydomain.com:gitolite-admin

есть ли способ скрыть это с помощью пользовательского номера порта ssh?

Я также должен упомянуть, что я запускаю cygwin в windows. У меня есть видел несколько мест, говорящих, чтобы добавить пользовательский порт в как

Host mydomain.com
    Port 12345

однако в cygwin этот файл, похоже, не существует.

3 ответов


git clone ssh://git@mydomain.com:[port]/gitolite-admin

обратите внимание, что номер порта должен быть без квадратных скобок: []


когда вам нужен относительный путь из вашего домашнего каталога, вы используете этот странный синтаксис:

ssh://[user@]host.xz[:port]/~[user]/path/to/repo

например, если РЕПО находится в /home/jack/projects/jillweb на сервере jill.com и вы входите в систему как jack С sshd прослушивание порта 4242:

ssh://jack@jill.com:4242/~/projects/jillweb


(обновление: несколько лет спустя Google и Qwant "авиакомпании" все еще отправляют меня сюда при поиске " git non-default ssh port") Вероятно, лучший способ в новых версиях git-использовать GIT_SSH_COMMAND ENV.VAR нравится:

GIT_SSH_COMMAND="ssh -oPort=1234 -i ~/.ssh/myPrivate_rsa.key" \ git clone myuser@myGitRemoteServer:/my/remote/git_repo/path

это имеет дополнительное преимущество, позволяя любой другой подходящий вариант ssh (порт, priv.ключ, IPv6, прибор PKCS#11 ...).