.bashrc에 다음을 추가했습니다.
ssh-add ~/.ssh/id_rsa
따라서 셸/터미널 애플리케이션(macOS의 iTerm2)에서 새 탭을 열면 SSH 에이전트를 사용하여 SSH ID가 자동으로 추가되므로 탭에 SSH 비밀번호를 수동으로 입력할 필요가 없습니다. 그러나 탭이 많으면 ssh-agent의 실행 인스턴스를 많이 가질 필요는 없는 것 같습니다.
이를 달성하는 더 좋은 방법이 있습니까?
답변1
문제는 쉘을 초기화할 때마다 에이전트에 대한 새로운 호출을 시작한다는 것입니다(아마도 .bash_profile
또는 .bashrc
. 이는 필요하지 않으므로 해당 ssh-agent 호출을 찾아서 삭제해야 합니다.
OSX에서는 일반적으로 데스크톱 세션이 시작될 때 SSH 에이전트가 시작됩니다. 예를 들어:
myhost:~)-> ps -ef | grep ssh-agent
501 986 1 0 10:18AM ?? 0:00.14 /usr/bin/ssh-agent -l
501 2126 736 0 5:30PM ttys007 0:00.00 grep ssh-agent
이에 액세스하려면 청취 소켓이 어디에 있는지 알아내야 합니다. 일반적으로 임의의 영숫자 식별자가 /tmp/com.apple.launchd.<blah>/Listeners
어디에 <blah>
있는지 알아내야 합니다. 몇 개가 있을 수 있지만 "리스너" 소켓이 있어야 합니다.
소켓을 찾으면 표준 SSH 환경 변수를 사용하여 연결할 수 있습니다 SSH_AUTH_SOCK
. 예를 들어:
myhost:~)-> export SSH_AUTH_SOCK=/tmp/com.apple.launchd.1h2j3k4l5/Listeners
myhost:~)-> ssh-add ~/.ssh/id_rsa
Enter passphrase for ~/.ssh/id_rsa: <typing_here>
Identity added: ~/.ssh/id_rsa (~/.ssh/id_rsa)
셸로 내보낸 후에는 ssh-add
이 시점에서 명령을 사용하여 키 암호를 제공하고 해당 키를 에이전트에 추가할 수 있습니다. 탐색하고 싶은 다른 옵션을 보려면 ssh-agent 매뉴얼 페이지를 확인하세요.