현재로 맥 OS 시에라 , SSH 에이전트 계정에 로그인 할 때 이전에 SSH 키를로드 더 이상 자동으로로드됩니다. 이것은 애플 측에서 의도적 인 것이며, 주류 OpenSSH 구현 과 재조정하기를 원했습니다 . [1]
여기 에 설명 된대로 , macOS 10.12.2 이후 권장되는 방법입니다 .
~/.ssh/config
파일에 다음 줄을 추가 하십시오.
Host *
UseKeychain yes
AddKeysToAgent yes
명령을 사용하여 ssh-agent에 추가 한 모든 키 ssh-add /path/to/your/private/key/id_rsa
는 자동으로 키 체인에 추가되며 재부팅시 자동로드되어야합니다.
다음은 더 이상 사용되지 않습니다 (참조 용으로 유지됨).
이전 동작으로 돌아가려면 로그인 할 때 ssh-add -A
명령 (키 체인에 암호 문구가있는 모든 ssh 키를 자동으로로드) 을 실행하려고합니다 . 그렇게하려면 다음 단계를 수행하십시오.
먼저, 명령을 사용하여 자동로드하려는 모든 키를 ssh-agent에 추가 하십시오 ssh-add -K /absolute/path/to/your/private/key/id_rsa
. 이 -K
인수는 키 패스 문구가 macOS의 키 체인에 추가되도록 합니다. 키의 절대 경로를 사용해야합니다. 상대 경로를 사용하면 자동 실행 스크립트가 키를 찾지 못하게됩니다.
입력 할 때 모든 키가 추가 된 것으로 표시되어 있는지 확인하십시오 ssh-add -A
.
아래 내용으로 호출 com.yourusername.ssh-add.plist
된 파일을 작성하십시오 ~/Library/LaunchAgents/
. 이와 같은 Plist 파일 은 launchd
로그인 할 때 스크립트를 실행 하는 데 사용됩니다 . [2] [3]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.user.loginscript</string>
<key>ProgramArguments</key>
<array>
<string>ssh-add</string>
<string>-A</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
다음 을 실행하여 방금 만든 plist 파일launchd
을로드하도록 지시 하십시오 ..launchctl load ~/Library/LaunchAgents/com.yourusername.ssh-add.plist
그리고 당신은 모든 준비가되어 있어야합니다.
ssh-add
로그인시 시작된 기본 ssh 에이전트에 RSA ID를 추가 하려면 계속 실행 해야합니까?