Git On Custom SSH Port - PullRequest
       20

Git On Custom SSH Port

128 голосов
/ 24 апреля 2011

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

git clone git@mydomain.com:gitolite-admin

Есть ли способ преобразовать это в использование пользовательского номера порта ssh?окна.Я видел несколько мест, где говорилось о добавлении пользовательского порта в файл ~/.ssh/config, например

Host mydomain.com
    Port 12345

, однако в cygwin этот файл, по-видимому, не существует.

Ответы [ 3 ]

282 голосов
/ 24 апреля 2011
git clone ssh://git@mydomain.com:[port]/gitolite-admin

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

8 голосов
/ 30 января 2018

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

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

А при входе в систему как jill (при условии, что у вас есть права доступа к файлу):

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

4 голосов
/ 14 июня 2018

(Обновление: несколько лет спустя Google и Qwant "Airlines" все еще отправляют меня сюда при поиске "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.key, IPv6, устройство PKCS # 11, ...).

...