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
반응형
'개발관련 > Git' 카테고리의 다른 글
아직 푸시되지 않은 Git 병합 실행 취소 하는 방법 (0) | 2022.01.17 |
---|---|
로컬 Git 변경 사항을 제거하는 다양한 방법 (0) | 2022.01.06 |
Git에서 마스터 브랜치를 완전히 다른 브랜치에서 대체하는 방법 (0) | 2021.12.29 |
GitHub에서 직접 npm 패키지를 설치하는 방법 (0) | 2021.12.29 |
체크 아웃을 사용하지 않고 Git 브랜치를 병합, 업데이트 및 가져 오기 (0) | 2021.12.29 |