2014-12-11 3 views
1

저는 msysgit, git Bash, tortoisegit 및 posh-git이 설치된 Windows 7 시스템에서 실행 중입니다.Git SSH가 사용자 정의 포트에 연결하지 않습니다.

저희 회사는 이전에 https에서 실행되었던 git server를 보유하고 있습니다. 그런 다음 한동안 https와 ssh를 모두 가지고있었습니다. 이제는 ssh 만 있습니다. 모든 것이 https에서 문제없이 실행되었습니다.

문제없이 모든 키를 생성하여 설치했습니다. 나는 아무런 문제없이 거북이를 통해 어떤 것을 밀거나 당길 수 있습니다. 그러나 더 이상 git BASH 또는 powershell + posh-git에서 명령 줄을 사용할 수 없습니다. 나는 우리가 포트 22를 사용하지 않기 때문에 그 이유 중 하나가 있다고 생각하지만 보안을 강화하기 위해 사용자 지정 포트를 사용합니다.

무고한 사람을 보호하기 위해 아래 명령에서 호스트 이름과 포트 번호가 변경되었습니다.

푸시/풀을 시도 할 때 아래 오류가 발생하지만 ssh 서버를 테스트하여 ssh가 문제인지 (내가 아는) 명령을 표시하고 있습니다. 나는 포트를 지정하지 않은 경우, 서버를 찾아 연결을 시도 -하지만 기본적으로 포트 22에 나는 오류가 발생하기 때문에 아래와 같이

C:\gitpath\design [master]> ssh ssh://[email protected] 
ssh: connect to host dev.zzz.us port 22: Bad file number 

나는 그러나, 포트를 지정하면, 그것을 다음 호스트 이름을 찾을 수 없습니다 :이 오류를 방지하기 위해 :

C:\gitpath\design [master]> ssh ssh://[email protected]:9092/ 
ssh.exe": Could not resolve hostname dev.zzz.us:9092/: no address associated with name 

내가 유사한 게시물을 검토 한 결과를 그들은 모두이 프로토콜을 필요로하는 지적은 (// SSH)을 포함. 보시다시피, 나는 프로토콜이있는 위치에서도이 오류가 발생합니다. 나는 또한 결말 '/'없이 - 같은 결과를 시도했다. 누락 된 구문이있는 뭔가가 있습니까?

답변

1

원격 저장소를 구성 할 때 비표준 포트를 지정하려면 ssh://[email protected]:9092/과 같은 식별자를 사용할 수 있습니다. 그러나, 원격 식별자는, 그러나, 예를 들어 원격 저장소를, 하는

git remote add origin ssh://[email protected]:9092/path/to/repo.git 

(나는 절대 경로를 사용하는 것을 선호)를 ssh 명령을 사용하여 이러한 연결을 테스트하기 위해 경로를 포함해야합니다, 당신은 -p를 사용 TCP 포트 번호를 지정하는 옵션을 선택하고 다음 [email protected] :

ssh -p 9092 [email protected] 

참고 : 나는 보통 유닉스 시스템 (안 윈도우에서)과 ssh 명령에서 힘내을 사용하는 t에 의해 제공됩니다 그는 Openssh 패키지.

편집 : Windows 박스를 점검하고 MSysGit도 Openssh 을 사용하므로 위의 명령이 작동합니다. 나는 Powershell로 확인하지 않았지만 위의 명령을 Bash 셸을 통해 실행하는 데 문제가 있어서는 안됩니다.

+0

감사합니다. 나는 그것이 아주 간단하다는 것을 알았다. 새 리포를 구성하지 않았고 테스트 방법에 결함이있었습니다. ssh -p와 git add | fetch | push | pull 모두 작동합니다. – Trashman

+0

도움이 된 것을 기쁘게 생각합니다. 귀하의 질문은 관련성이 높은 문맥을 충분히 제공하므로 답변 할만한 가치가 있다고 생각했습니다. 그것은 관련 정보가 포함되어 있기 때문에 나는 그 질문을 upvote해야한다는 것을 상기시킨다. –

관련 문제