Использование удаленного репозитория с нестандартным портом - PullRequest
118 голосов
/ 13 октября 2009

Я настраиваю свой локальный проект git для удаленного хранилища. Удаленный репозиторий обслуживается через нестандартный порт (4019).

Но это не работает. Вместо этого я получаю следующее сообщение об ошибке:

ssh: connect to host git.host.de:4019 port 22: Connection refused
fatal: The remote end hung up unexpectedly
error: failed to push to 'ssh://root@git.host.de:4019/var/cache/git/project.git'

Моя локальная конфигурация git выглядит следующим образом :

[core]
  repositoryformatversion = 0
  filemode = true
  bare = false
  logallrefupdates = true
[remote "origin"]
  url = ssh://root@git.host.de:4019/var/cache/git/project.git
  fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
  remote = origin
  merge = refs/heads/master

(Порт и хост являются местозаполнителями для фактического порта и хоста.)

Что не так с моей конфигурацией git?

Ответы [ 5 ]

121 голосов
/ 21 апреля 2011

Метод доступа к git на основе SSH можно указать в <repo_path>/.git/config, используя полный URL-адрес или SCP-подобный синтаксис, как указано в http://git -scm.com / docs / git-clone :

Стиль URL:

url = ssh://[user@]host.xz[:port]/path/to/repo.git/

Стиль SCP:

url = [user@]host.xz:path/to/repo.git/

Обратите внимание, что стиль SCP не допускает прямого изменения порта, полагаясь вместо этого на определение хоста ssh_config в вашем ~/.ssh/config, например:

Host my_git_host
HostName git.some.host.org
Port 24589
User not_a_root_user

Затем вы можете проверить в оболочке:

ssh my_git_host

и измените свой URI в стиле SCP в <repo_path>/.git/config как:

url = my_git_host:path/to/repo.git/
106 голосов
/ 13 октября 2009

Если вы добавите что-то подобное в ваш .ssh/config:

Host githost
HostName git.host.de
Port 4019
User root

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

git push githost:/var/cache/git/project.git master
25 голосов
/ 02 ноября 2013

Попробуйте это

git clone ssh://user@32.242.111.21:11111/home/git/repo.git
9 голосов
/ 13 октября 2009

Это позволяет избежать вашей проблемы, а не исправить ее напрямую, но я бы рекомендовал добавить файл ~/.ssh/config и иметь что-то вроде этого

Host git_host
HostName git.host.de
User root
Port 4019

, тогда вы можете получить

url = git_host:/var/cache/git/project.git

и вы также можете ssh git_host и scp git_host ..., и все получится.

7 голосов
/ 13 октября 2009

SSH не использует синтаксис : при указании порта. Самый простой способ сделать это - отредактировать файл ~/.ssh/config и добавить:

Host git.host.de
  Port 4019

Затем укажите git.host.de без номера порта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...