Programming

Git On Custom SSH 포트

procodes 2020. 6. 29. 21:34
반응형

Git On Custom SSH 포트


VPS 제공 업체는 SSH 포트를 기본적으로 할당하는 사용자 지정 포트 번호 (22 아님)로 내버려 둘 것을 권장합니다. 문제는 원격 구성을 만들 때 포트 번호를 줄 수 있다는 것을 알고있는 동안 git clone을 수행 할 때 똑같이 할 수없는 것 같습니다. gitolite를 사용하고 있으므로 명령을 복제하십시오.

git clone git@mydomain.com:gitolite-admin

사용자 지정 ssh 포트 번호를 사용하여 이것을 숨길 수있는 방법이 있습니까?

또한 Windows에서 cygwin을 실행 중이라고 언급해야합니다. ~/.ssh/config파일에 사용자 정의 포트를 추가한다고 말하는 여러 곳이 있습니다.

Host mydomain.com
    Port 12345

그러나 cygwin에서는 해당 파일이 존재하지 않는 것 같습니다.


git clone ssh://git@mydomain.com:[port]/gitolite-admin

포트 번호는 대괄호없이 있어야합니다. []


홈 디렉토리 (모든 UNIX)에서 상대 경로를 원할 경우 다음과 같은 이상한 구문을 사용합니다.

ssh://[user@]host.xz[:port]/~[user]/path/to/repo

예를 들어, 리포지토리가 /home/jack/projects/jillweb서버에 jill.com있고 포트 4242 jack에서 sshd수신 대기하는 것처럼 로그인하는 경우 :

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

다음과 같이 로그인 할 때 jill(파일 권한이 있다고 가정) :

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


(업데이트 : 몇 년 후 "git non-default ssh port"를 검색 할 때 Google과 Qwant "항공사"가 여기로 계속 전송됩니다.) 최신 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 장치 등)을 허용한다는 추가 이점이 있습니다.


위의 답변은 훌륭하고 훌륭하지만 나와 같은 새로운 git 사용자에게는 명확하지 않습니다. 그래서 약간의 조사 후에, 나는이 새로운 답변을 제공합니다.

1 ssh 구성 파일 방식의 문제점은 무엇입니까?

구성 파일이없는 경우 구성 파일을 작성할 수 있습니다. 게다가 portconfig 파일 다른 ssh를 설정 옵션을 포함 할 수 있습니다 user IdentityFile등등, 설정 파일의 모습은 좋아

Host mydomain.com
    User git
    Port 12345

Linux를 실행하는 경우 구성 파일에 엄격한 권한 (사용자에 대한 읽기 / 쓰기, 다른 사람이 액세스 할 수 없음)이 있어야합니다.

2 ssh url 방식은 어떻습니까?

우리가 알아야 할 유일한 것은 git에 ssh url에 대한 두 가지 구문이 있다는 것입니다.

  • 표준 구문 ssh://[user@]host.xz[:port]/path/to/repo.git/
  • 구문 같은 scp [user@]host.xz:path/to/repo.git/

기본적으로 Gitlab과 Github는 구문 URL 과 같은 scp 를 표시 하며 사용자 지정 ssh 포트를 제공 할 수 없습니다. 따라서 ssh 포트를 변경 하려면 표준 구문을 사용해야 합니다

참고 URL : https://stackoverflow.com/questions/5767850/git-on-custom-ssh-port

반응형