개발관련/Git

Git에서 쉘 명령을 실행할 때 사용할 개인 SSH 키를 지정하는 방법

Rateye 2022. 1. 6. 14:34
728x90
반응형
질문 : Git에서 쉘 명령을 실행할 때 사용할 개인 SSH 키를 지정하는 방법은 무엇입니까?

다소 특이한 상황 일 수 있지만 로컬 컴퓨터에서 git ) 명령을 실행할 때 사용할 개인 SSH 키를 지정하고 싶습니다.

기본적으로 다음과 같습니다.

git clone git@github.com:TheUser/TheProject.git -key "/home/christoffer/ssh_keys/theuser"

또는 더 나은 (Ruby에서) :

with_key("/home/christoffer/ssh_keys/theuser") do
  sh("git clone git@github.com:TheUser/TheProject.git")
end

지정된 개인 키를 사용하는 Net::SSH 로 원격 서버에 연결하는 예를 보았지만 이것은 로컬 명령입니다. 가능할까요?

답변

다음과 같은 것이 작동합니다 (orip에서 제안 함).

ssh-agent bash -c 'ssh-add /somewhere/yourkey; git clone git@github.com:user/project.git'

하위 셸을 선호하는 경우 다음을 시도해 볼 수 있습니다 (더 취약하지만).

ssh-agent $(ssh-add /somewhere/yourkey; git clone git@github.com:user/project.git)

Git은 SSH를 호출하여 환경 변수로 에이전트를 찾습니다. 그러면 키가로드됩니다.

또는 .ssh 디렉토리 만 포함 된 디렉토리를 HOME HOME 설정도 트릭을 수행 할 수 있습니다. 여기에는 identity.pub 또는 구성 파일 설정 IdentityFile이 포함될 수 있습니다.

출처 : https://stackoverflow.com/questions/4565700/how-to-specify-the-private-ssh-key-to-use-when-executing-shell-command-on-git
728x90
반응형