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 ...).