ssh-add -K ~/.ssh/id_rsa
가 키를로드하지만 재부팅 할 때마다 비밀번호를 묻는 것 같습니다.
로그인 할 때마다 키 비밀번호를 다시 입력 할 필요가없는 솔루션을 찾고 있습니다.
댓글
Answer
OSX에서 , 기본 ssh-add
클라이언트에는 OSX 키 체인에 개인 키의 암호를 저장하는 특수 인수가 있습니다. 즉, 일반 로그인이 ssh와 함께 사용할 수 있도록 잠금 해제됩니다. OSX Sierra에서 이후에는 항상 키 체인을 사용하도록 SSH를 구성해야합니다 (아래의 2 단계 참조).
또는 암호없이 키를 사용할 수 있지만 확실히 허용되는 보안을 선호하는 경우 이 워크 플로입니다.
1 단계-키 체인에 키 저장
이 작업은 한 번만 수행하십시오.
ssh-add -K ~/.ssh/[your-private-key]
키 암호를 입력하면 “다시 요청하지 않습니다.
(“OSX의 Sierra 이전 버전을 사용하는 경우 “완료됩니다. 2 단계는 필요하지 않습니다.)
2 단계-항상 키 체인을 사용하도록 SSH 구성
OSX Sierra가 키를 유지하는 편리한 동작을 제거한 것 같습니다. ssh 업데이트는 더 이상 기본적으로 키 체인을 사용하지 않습니다. 이 때문에 업그레이드 한 후 다시 시작할 때마다 키의 암호를 입력하라는 메시지가 표시됩니다.
해결 방법은 매우 간단하며 이 github 스레드 주석 . 설정 방법은 다음과 같습니다.
-
키 체인에 키를 저장하려면 위의 1 단계를 완료했는지 확인합니다.
-
아직 만들지 않았다면
~/.ssh/config
파일을 만듭니다. 즉, 홈 디렉토리의.ssh
디렉토리에서config
. -
.ssh/config
파일에 다음 줄을 추가합니다. :Host * UseKeychain yes AddKeysToAgent yes IdentityFile ~/.ssh/id_rsa
~/.ssh/id_rsa
를 개인 키의 실제 파일 이름으로 변경합니다. 다른 개인 키가있는 경우~/.ssh
디렉터리에 각각IdentityFile
줄을 추가합니다. 예를 들어 두 번째 개인 키용.UseKeychain yes
는 SSH가 OSX 키 체인에서 키를 찾도록 지시하는 핵심 부분입니다. 암호. -
그게 다입니다! 다음에 SSH 연결을로드하면 사용자가 지정한 개인 키를 시도하고 OSX 키 체인에서 해당 암호를 찾습니다. 암호를 입력 할 필요가 없습니다.
댓글
- @Poulsbo & @Abram-업데이트를 참조하세요. Sierra는 자동 동작을 변경했으며 이제 실행해야합니다.
ssh-add -A
수동으로 저장된 키 체인을로드합니다. 위에서 참조한 몇 가지 가능한 해결 방법 - @trisweb 팁 감사합니다. joshbuchea '
.ssh/config
파일을 수정하는 div>의 솔루션이 유망 해 보입니다. github.com/lionheart/openradar-mirror/issues/ - 훌륭합니다!제 경우에는 키 체인에 키를 추가하고 암호를 등록하기 위해
K
플래그 외에A
플래그를 사용해야했습니다. (ssh-add -AK ~/.ssh/[your-private-key]
). 감사합니다! - 키 체인 사용 옵션을 사용하더라도 재부팅시 키 체인이 .ssh / id_rsa 키를 삭제합니다.
- 정확히 똑같이 수행했지만 Mac에서 여전히 재부팅 할 때 키를 누릅니다.
답변
질문을 받았다는 점에서 비슷한 문제가있었습니다. 매번 내 pub-key 암호를 입력합니다. 위의 사용자 “trisweb”제안에 따라 다음 옵션을 ~/.ssh/config
에 설정했습니다.
Host * UseKeychain yes AddKeysToAgent yes IdentityFile ~/.ssh/id_rsa
하지만 ssh를 사용하고 싶을 때마다 여전히 메시지가 표시됩니다. 결국 ssh -v
를 켜고 다음 디버그 줄을 찾았습니다.
debug1: key_load_private: incorrect passphrase supplied to decrypt private key
그런 다음 “키 체인 액세스”에서 키 체인을 열었습니다. .app “에서”SSH : /Users/username/.ssh/id_rsa “라는 키를 찾아서 열었습니다. 암호를 공개하기 위해 “암호 표시”를 클릭했는데 실제로 키링의 암호가 오래된 암호라는 것을 발견했습니다. 키 체인 액세스에서 암호를 업데이트했으며 이제 암호없이 작동합니다.
다음 구문으로 암호를 업데이트 할 수도 있습니다.
ssh-keygen -p -f ~/.ssh/id_rsa
댓글
- 내 Mac에서 비밀번호는 “iCloud”체인의 “비밀번호”카테고리에 저장됩니다. “로그인”체인에 있다고 생각했습니다.
답변
위의 모든 것이 작동하지 않는 경우 , 내 문제는 UseKeychain yes
& AddKeysToAgent yes
를 모두 복제했기 때문에 발생한 것 같습니다. ssh 키 프로필 / 바로 가기. 이 파일을 한 번만 선언하도록 ~/.ssh/config
파일을 업데이트했으며 이제 시작시 암호를 묻지 않고 로그인시 모두로드됩니다. 예 :
Host * UseKeychain yes AddKeysToAgent yes IdentityFile ~/.ssh/foo IdentityFile ~/.ssh/bar Host foo HostName foo.com User fooUser IdentityFile ~/.ssh/foo Host bar HostName bar.com User barUser IdentityFile ~/.ssh/bar
댓글
-
Host *
는 특정 호스트 규칙을 따르는 것이 좋습니다. 자세한 내용은man ssh_config
를 참조하세요.
답변
또한 macOS Sierra 및 HighSierra (이전 버전에 대해 알지 못함)에서 ssh-add -A
를 실행하면 에이전트가 암호가 키 체인에 저장된 모든 키를로드하도록합니다 … 매우 편리합니다
답변
공개 키 추가 :
.ssh/known_hosts
공개 키는 일반적으로 켜져 있습니다.
/home/user/.ssh/id_rsa.pub
도움이되는 희망
댓글
-
authorized_keys
- 어쨌든 키가 두 개 이상이면 작동하지 않습니다. '
, 저는 ' 있습니다. OSX 10.5에서이 키를 먼저 설정 한 것 같습니다. id_dsa이지만 ' 그게 중요하지 않다고 생각합니다.
id_rsa
키에 비밀번호가 있습니다.ssh-add
를 실행하지 않고ssh
직접. 키에 대한 암호문이 될 팝업 창이 나타나고 키 체인에 저장할 수있는 확인란이 표시됩니다.