ssh-add -K ~/.ssh/id_rsa
키를로드하지만 재부팅 할 때마다 비밀번호를 묻는 것 같습니다 .
로그인 사이에 키 암호를 다시 입력하지 않아도되는 솔루션을 찾고 있습니다.
답변
OSX에서 원시 ssh-add
클라이언트에는 개인 키의 암호를 OSX 키 체인에 저장하는 특수 인수가 있습니다. 즉, 일반 로그인은 ssh와 함께 사용하기 위해 잠금을 해제합니다. OSX Sierra 이상에서는 항상 키 체인을 사용하도록 SSH를 구성해야합니다 (아래 2 단계 참조).
또는 암호없이 키를 사용할 수 있지만이 워크 플로에서 확실히 허용되는 보안을 선호하는 경우.
1 단계-키 체인에 키 저장
이 작업을 한 번만 수행하십시오.
ssh-add -K ~/.ssh/[your-private-key]
키 비밀번호 문구를 입력하면 다시 입력하라는 메시지가 표시되지 않습니다.
(Sierra 이전 버전의 OSX를 사용하는 경우 2 단계가 필요하지 않습니다.)
2 단계-항상 키 체인을 사용하도록 SSH 구성
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 키 체인에서 암호를 찾습니다. 암호 입력이 필요하지 않습니다.
답변
나는 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 키가 “로그인”키 체인에 저장되어 있다고 가정합니다.
- 열린 키 체인 접근
- “로그인”키 체인 강조
- “로그인”키 체인을 마우스 오른쪽 버튼으로 클릭하거나 옵션 클릭
- “X 분 동안 활동이 없으면 잠금”및 “자기 잠금”확인란의 선택을 취소하십시오.
-
암호를 사용하지 않고 다른 SSH 키를 생성하십시오.
- 터미널을 엽니 다.
- 명령을 입력하십시오 :
ssh-keygen -t rsa -b 4096 -C <comment> -f <.ssh/id_rsa>
- -t는 유형, -b는 키 크기, -C는 주석, -f 출력 파일 (디렉토리를 먼저 작성해야 함)
- 암호를 설정하지 마십시오.
- SSH 키를 “로그인”키 체인으로 가져 오기
ssh-add -K <path to ssh key>
더 이상 키 체인 암호를 입력하라는 메시지가 표시되지 않아야합니다.
답변
또한 macOS Sierra 및 HighSierra (이전 버전에 대해 알지 못함)에서 실행 ssh-add -A
하면 에이전트가 암호 문구가 키 체인에 저장된 모든 키를로드하게됩니다.
답변
위의 모든 기능이 작동하지 않는 경우 모든 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
답변
다음에 공개 키를 추가하십시오.
.ssh/known_hosts
공개 키는 일반적으로 다음과 같습니다.
/home/user/.ssh/id_rsa.pub
희망이 도움이