원격 저장소에 대한 로컬 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_host
와 scp git_host ...
모든 것이 해결됩니다.
답변
SSH는 :
포트를 지정할 때 구문을 사용하지 않습니다 . 이를 수행하는 가장 쉬운 방법은 ~/.ssh/config
파일 을 편집 하고 다음을 추가하는 것입니다.
호스트 git.host.de 포트 4019
그런 다음 git.host.de
포트 번호없이 지정하십시오 .