ssh-add -K ~/.ssh/id_rsa
키를로드하지만 재부팅 할 때마다 비밀번호를 묻는 것 같습니다 .
로그인 사이에 키 암호를 다시 입력하지 않아도되는 솔루션을 찾고 있습니다.
id_rsa
키에는 암호가 있습니다.
ssh-add
하지만, 단지 실행 ssh
직접. 키의 암호 문구로 팝업 창이 나타나고 키 체인에 저장할 수있는 확인란이 있어야합니다.
ssh-add -K ~/.ssh/id_rsa
키를로드하지만 재부팅 할 때마다 비밀번호를 묻는 것 같습니다 .
로그인 사이에 키 암호를 다시 입력하지 않아도되는 솔루션을 찾고 있습니다.
id_rsa
키에는 암호가 있습니다.
ssh-add
하지만, 단지 실행 ssh
직접. 키의 암호 문구로 팝업 창이 나타나고 키 체인에 저장할 수있는 확인란이 있어야합니다.
답변:
OSX에서 원시 ssh-add
클라이언트에는 개인 키의 암호를 OSX 키 체인에 저장하는 특수 인수가 있습니다. 즉, 일반 로그인은 ssh와 함께 사용하기 위해 잠금을 해제합니다. OSX Sierra 이상에서는 항상 키 체인을 사용하도록 SSH를 구성해야합니다 (아래 2 단계 참조).
또는 암호없이 키를 사용할 수 있지만이 워크 플로에서 확실히 허용되는 보안을 선호하는 경우.
이 작업을 한 번만 수행하십시오.
ssh-add -K ~/.ssh/[your-private-key]
키 비밀번호 문구를 입력하면 다시 입력하라는 메시지가 표시되지 않습니다.
(Sierra 이전 버전의 OSX를 사용하는 경우 2 단계가 필요하지 않습니다.)
OSX Sierra가 로그인간에 키를 유지하는 편리한 동작을 제거한 것으로 보이며 ssh 업데이트는 더 이상 기본적으로 키 체인을 사용하지 않습니다. 이로 인해 업그레이드 후 및 다시 시작할 때마다 키의 암호를 입력하라는 메시지가 표시됩니다.
해결책은 매우 간단 하며이 github thread comment에 설명되어 있습니다. 설정 방법은 다음과 같습니다.
키 체인에 키를 저장하려면 위의 1 단계를 완료했는지 확인하십시오.
아직 ~/.ssh/config
파일을 작성하지 않은 경우 파일을 작성 하십시오. 즉, .ssh
홈 디렉토리 의 디렉토리에라는 파일을 작성하십시오 config
.
해당 .ssh/config
파일에서 다음 줄을 추가하십시오.
Host *
UseKeychain yes
AddKeysToAgent yes
IdentityFile ~/.ssh/id_rsa
~/.ssh/id_rsa
개인 키의 실제 파일 이름으로 변경하십시오 . ~.ssh
디렉토리 에 다른 개인 키가있는 경우 각 개인 키를 추가하십시오 IdentityFile
. 예를 들어, IdentityFile ~/.ssh/id_ed25519
두 번째 개인 키 를 읽는 추가 줄이 하나 있습니다.
이것은 UseKeychain yes
핵심 부분으로 SSH가 OSX 키 체인에서 키 암호 문구를 찾도록 지시합니다.
그게 다야! 다음에 ssh 연결을로드하면 지정한 개인 키를 시도하고 OSX 키 체인에서 암호를 찾습니다. 암호 입력이 필요하지 않습니다.
ssh-add -K ...
비밀번호를 묻지 않고 ssh 에이전트에 키를 추가했지만 현재 세션에만 해당합니다. 다시 부팅 한 후 명령을 다시 실행해야했습니다.
ssh-add -A
저장된 키 체인을로드 하려면 수동으로 실행 해야합니다. 위에서 언급 한 몇 가지 가능한 솔루션.
.ssh/config
파일 수정 솔루션 은 유망한 것으로 보입니다! github.com/lionheart/openradar-mirror/issues/…
A
플래그와 함께 플래그 를 사용해야 K
했습니다 ( ssh-add -AK ~/.ssh/[your-private-key]
). 감사!
나는 pub-key 암호 문구에 대해 매번 질문을 받았다는 점에서 비슷한 문제가있었습니다.
위의 "trisweb"사용자 제안에 따라이 옵션을 ~ / .ssh / config로 설정했습니다.
Host *
UseKeychain yes
AddKeysToAgent yes
IdentityFile ~/.ssh/id_rsa
그러나 ssh를 사용할 때마다 여전히 프롬프트가 표시되었습니다.
결국 "ssh -v"를 켜고이 디버그 라인을 찾았습니다.
debug1 : key_load_private : 개인 키를 해독하기 위해 잘못된 암호가 제공되었습니다.
그런 다음 "Keychain Access.app"에서 키 체인을 열고 "SSH : /Users/username/.ssh/id_rsa"라는 키를 찾아서 열었습니다.
"비밀번호 표시"를 클릭하여 비밀번호를 공개했으며 실제로 키링의 비밀번호 문구가 오래된 비밀번호 문구라는 것을 알았습니다.
Keychain Access의 암호 문구를 업데이트했으며 이제 암호가없는 작업입니다.
이 문구로 암호 문구를 업데이트 할 수도 있습니다.
ssh-keygen -p -f ~ / .ssh / id_rsa
"로그인"키 체인이 작동하지 않거나 잠자기 상태이거나 재부팅 한 경우마다 암호를 묻는 메시지가 나타납니다. 이를 해결하기위한 두 가지 방법이 있습니다.
"로그인"키 체인의 설정을 변경하십시오. ssh 키가 "로그인"키 체인에 저장되어 있다고 가정합니다.
암호를 사용하지 않고 다른 SSH 키를 생성하십시오.
ssh-keygen -t rsa -b 4096 -C <comment> -f <.ssh/id_rsa>
ssh-add -K <path to ssh key>
더 이상 키 체인 암호를 입력하라는 메시지가 표시되지 않아야합니다.
ssh-add
SSH 내부에서 호출 할 때는 security unlock-keychain
먼저 호출해야합니다. 또한 -f
매개 변수 의 디렉토리를 만들 필요가 없었습니다 . 불행히도 security unlocl-keychain
매번 암호를 묻는 로그인 키 체인에 액세스하기 위해 SSH 세션 을 호출해야했습니다 .
위의 모든 기능이 작동하지 않는 경우 모든 ssh 키 프로파일 / 바로 가기에서 UseKeychain yes
& AddKeysToAgent yes
를 복제했기 때문에 문제가 발생한 것으로 보입니다 . ~/.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