가끔 한 계정에서 여러 RSA 키를 사용해 ssh를 연결해야 할 때가 있다.
방법은 간단하다.
.ssh 디렉터리 내에 여러 RSA 키를 넣어두고, 이를 리다이렉팅하도록 ~/.ssh/config 파일을 수정하면 된다.
없는 경우 직접 만들어주자.
Host는 alias이며 HostName에 URL이 위치해야 한다.
User에는 계정명을 입력하며 IdentityFile에는 RSA키(개인키)를 입력한다.
# Hooni Account Host gitlab.com-hooni HostName gitlab.com User hooni IdentityFile ~/.ssh/id_rsa_hooni # Sunny Account Host gitlab.com-sunny HostName gitlab.com User sunny IdentityFile ~/.ssh/id_rsa_sunny
이를 바탕으로 URL을 이용하여 RSA 키를 선택하여 접속할 수 있다.
이를 git에 적용해보자
git 저장소에서 .git/config 중 URL 부분을 수정하면 된다.
git@<HOST>:<REPOSITORY_NAME>.git의 형식이다.
HOST는 ~/.ssh/config에 적었던 alias이고 REPOSITORY_NAME은 git remote 저장소를 의미한다.
[remote "origin"] url = git@gitlab.com-hooni:repo_name/repo.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master
위와 같이 URL을 적용하면 프로젝트별로 다른 RSA키를 적용할 수 있다.