Mac OS X Lion을 사용하고 매일 SSH를 통해 원격 호스트에 로그인합니다. 원격 인증을 위해 SSH 키 페어를 사용하고 모든 호스트의 로그인 문구를 자동화 할 필요는 없지만 터미널이 내 SSH 개인 키에 액세스하기 위해 암호를 요구하는 것은 여전히 성가신 일입니다.
보안상의 이유로 SSH 개인 키에 액세스하기위한 암호가 필요하다고 생각합니다. 터미널이 시작시 정확히 한 번만 문구를 요구하고 암기하고 나중에 SSH 세션에서 개인 키를 자동으로 사용하는 방법이 있습니까?
keychain
젠투 리눅스에서 잘 작동 하는 스크립트가 있습니다 . 그러나 나는 Mac OS X Lion에서 결코 알아 내지 못했습니다. 무엇보다, 같은 많은 협박 측면이있다 ssh-agent
, ssh-add
. SSH 툴킷에 대한 다양한 자료를 읽고 좌절 한 실험을 한 후에 더 혼란스러워졌습니다.
따라서 다음 질문에 대한 조언을 찾고 StackExchange에 왔습니다.
- 무엇
ssh-agent
,ssh-add
,keychain
,Keychain Access.app
그들이 어떻게 상호 작용 서로? - 로그인시 SSH 개인 키 암호를 입력하고 나중에 SSH 세션 생성시 자유롭게 사용할 수 있습니까?
- 어 ... 무슨 일이야
Keychain Access.app
? 이전처럼 SSH 구문을 저장하지 않습니다.
여기에 내가 한 일을 열거합니다. 희망적으로 내가 놓친 단계에 대한 단서가 있습니다.
1 단계. 내 Mac에서 SSH 키 페어를 만듭니다.
$ ssh-keygen -t rsa -C "me@email.com"
# Set a passphrase for accessing the private key.
2 단계. SSH 공개 키를 원격 호스트에 복사합니다. 예를 들어, 로컬 호스트 Mac에 키를 복사합니다.
$ ssh-copy-id USER@localhost
# Enter the login password for USER at localhost, not my SSH passphrase
단계 3. 그런 다음 SSH 키 쌍 인증을 통해 원격 호스트 (여기서는 localhost)에 연결하십시오.
$ ssh USER@locahost
Enter passphrase for key '/Users/YOUR_ACCOUNT/.ssh/id_rsa':
# Enter my SSH passphrase, not the login password.
단계 4. 원격 호스트에서 로그 아웃 한 후 다시 연결하십시오. 젠장, 터미널은 SSH 문구를 다시 요청합니다.
자주 묻는 질문은 "ssh-agent가 Mac에서 제대로 작동합니까?"입니다. 솔직히 말해서, 나는 이것들에 무슨 일이 일어나고 있는지 전혀 모른다. 다음은 실행 결과를 보여줍니다.
$ echo $SSH_AUTH_SOCK
/tmp/launch-M48niA/Listeners
$ echo $SSH_AUTH_PID
(EMPTY)
$ ssh-add -l
Could not open a connection to your authentication agent.
$ ssh-agent
SSH_AUTH_SOCK=/tmp/ssh-Z54zXukQiP/agent.26769; export SSH_AUTH_SOCK;
SSH_AGENT_PID=26770; export SSH_AGENT_PID;
echo Agent pid 26770;
$ ssh-add -l
Could not open a connection to your authentication agent.
$ echo $SSH_AUTH_SOCK
/tmp/launch-M48niA/Listeners
$ echo $SSH_AUTH_PID
(STILL EMPTY)
$ ssh-agent # Oh no, anther ssh-agent with different PID
SSH_AUTH_SOCK=/tmp/ssh-cx0B4FUX8B/agent.26898; export SSH_AUTH_SOCK;
SSH_AGENT_PID=26899; export SSH_AGENT_PID;
echo Agent pid 26899;
$ ps -e | grep -i ssh
26769 ?? 0:00.03 ssh-agent
26899 ?? 0:00.02 ssh-agent
모든 의견을 환영합니다. 감사!