비표준 포트가있는 원격 저장소 사용 hung up unexpectedly error: failed to

원격 저장소에 대한 로컬 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'

내 로컬 자식 구성은 다음과 같습니다 .

[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

(포트와 호스트는 실제 포트와 호스트에 대한 자리 표시 자입니다.)

내 자식 구성에 어떤 문제가 있습니까?



답변

다음과 같은 것을 넣으면 .ssh/config:

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

그러면 기본 구문을 사용할 수 있습니다.

git push githost:/var/cache/git/project.git master

답변

SSH 기반 git 액세스 방법은 http://git-scm.com/docs/git-clone에<repo_path>/.git/config 지정된대로 전체 URL 또는 SCP와 유사한 구문 을 사용하여 지정할 수 있습니다 .

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

다음과 같이 SCP 스타일 URI를 변경하십시오 <repo_path>/.git/config.

url = my_git_host:path/to/repo.git/

답변

이 시도

git clone ssh://user@32.242.111.21:11111/home/git/repo.git

답변

이렇게하면 문제를 직접 수정하는 대신 피할 수 있지만 ~/.ssh/config파일을 추가하고 다음과 같은 것을 사용하는 것이 좋습니다.

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

그럼 당신은 가질 수 있습니다

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

당신은 또한 수 ssh git_hostscp git_host ...모든 것이 해결됩니다.


답변

SSH는 :포트를 지정할 때 구문을 사용하지 않습니다 . 이를 수행하는 가장 쉬운 방법은 ~/.ssh/config파일 을 편집 하고 다음을 추가하는 것입니다.

호스트 git.host.de
  포트 4019

그런 다음 git.host.de포트 번호없이 지정하십시오 .