Linux에서 ~/.ssh/config에 영향을 주지 않고 SSH 그룹 키 설정

Linux에서 ~/.ssh/config에 영향을 주지 않고 SSH 그룹 키 설정

원격 Git 저장소에 게시하는 데 사용되는 SSH 그룹 키를 설정해야 합니다.

git(그리고 다른 많은 프로그램이 있다고 가정)은 플래그 지연 정의를 허용하지 않으므로 ssh -i어떤 키가 사용될지에 대한 정보는 기본값에서 나오거나~/.ssh/config

이를 위해서는 이 기능(즉, 파일에 적절한 항목 추가)이 필요한 사용자를 위한 새로운 관리 작업이 필요합니다 ~/.ssh/config.

이 노력을 아끼지 않을 수 있는 방법이 있나요? (필요한 작업을 수행하는 래핑 스크립트를 생성하여) OpenSSH에서 읽을 수 있는 환경 변수를 찾을 수 없었습니다.

답변1

따라서 답변은 다음과 같습니다(tink에게 감사드립니다).

ssh-agent를 사용하여 키를 보관하는 것은 항상 작동합니다. 이를 위해 호출을 스크립트로 캡슐화할 수 있습니다.

#!/bin/bash
key=$1
[[ "$SSH_AGENT_PID" ]] || eval $(ssh-agent)
ssh-add $key

#...the rest of the script...

git의 특별한 경우에는 GIT_SSHssh 대신 호출될 명령을 가리키는 환경 변수가 있습니다. 그래서 ssh플래그를 발행하는 것이 가능합니다 -i.

이것이 개념 증명임을 경고하기 위해 스크립트를 로드한 후 환경이 영향을 받지 않는지 확인해야 합니다. 즉, 에이전트가 있었고 키가 로드되지 않은 경우 에이전트가 로드되지 않은 경우 키를 제거해야 합니다. 존재, 에이전트 제거 등)

관련 정보