리포지토리 인증 에 의존하기 때문에 사용할 개인 키 를 알려주 는 직접적인 방법 은 없습니다 . 그러나 목표를 달성하는 몇 가지 방법이 여전히 있습니다.git
ssh
옵션 1: ssh-agent
ssh-agent
개인 키를 임시로 인증 하는 데 사용할 수 있습니다 .
예를 들면 다음과 같습니다.
$ ssh-agent sh -c 'ssh-add ~/.ssh/id_rsa; git fetch user@host'
옵션 2 : GIT_SSH_COMMAND
GIT_SSH_COMMAND
환경 변수 (Git 2.3.0+) 를 사용하여 ssh 인수를 전달하십시오.
예를 들면 다음과 같습니다.
$ GIT_SSH_COMMAND='ssh -i ~/.ssh/id_rsa -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' \
git clone user@host
이 모든 것을 한 줄에 입력 할 수 있습니다 .를 무시 $
하고 제외하십시오 \
.
옵션 3 : GIT_SSH
GIT_SSH
대체 변수를 지정하기 위해 환경 변수를 사용하여 ssh 인수를 전달하십시오 ssh
.
예를 들면 다음과 같습니다.
$ echo 'ssh -i ~/.ssh/id_rsa -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no $*' > ssh
$ chmod +x ssh
$ GIT_TRACE=1 GIT_SSH='./ssh' git clone user@host
참고 : 위의 행은 터미널에 붙여 넣어야하는 쉘 (터미널) 명령 행입니다. 그들은이라는 파일을 ssh
만들고, 실행 가능하게 만들고 (간접적으로) 실행합니다.
참고 : GIT_SSH
v0.99.4 (2005) 부터 사용 가능 합니다.
옵션 4 : ~/.ssh/config
~/.ssh/config
개인 키의 위치를 지정하려면 다른 답변에서 제안한대로 파일을 사용하십시오. 예 :
Host github.com
User git
Hostname github.com
IdentityFile ~/.ssh/id_rsa