SSH에서 자동으로 사용할 수 있도록 SSH 개인 키를 키 체인에 영구적으로 추가하려면 어떻게해야합니까?

ssh-add -K ~/.ssh/id_rsa가 키를로드하지만 재부팅 할 때마다 비밀번호를 묻는 것 같습니다.

로그인 할 때마다 키 비밀번호를 다시 입력 할 필요가없는 솔루션을 찾고 있습니다.

댓글

  • 가능 비밀번호 프롬프트가 언제 표시되는지에 대해 조금 더 말씀해 주시겠습니까? 원격 서버에 대한 ssh-key가 있기 때문에 묻습니다. Mac 로그인 암호 또는 다른 것과 동일하지 않으며 ' 입력 할 필요가 없었습니다. 동안 ssh-key의 암호. 터미널을 열고 " ssh < server >

    , 저는 ' 있습니다. OSX 10.5에서이 키를 먼저 설정 한 것 같습니다. id_dsa이지만 ' 그게 중요하지 않다고 생각합니다.

  • id_rsa 키에 비밀번호가 있습니다.
  • 오래 전에 해결 한 문제도있어서 ' 내가 한 일을 정확히 기억할 수 없습니다. 하지만 생각 ssh-add를 실행하지 않고 ssh 직접. 키에 대한 암호문이 될 팝업 창이 나타나고 키 체인에 저장할 수있는 확인란이 표시됩니다.
  • @Sorin-저도 마찬가지입니다! 오래 전에 한 번 입력해야했는데 그 이후로 Mac이 저장해 두었습니다. Harald '의 조언이 도움이되기를 바랍니다.
  • 키 체인 암호 (예 : 로그인 암호) 또는 키를 의미합니까 '의 암호? 후자 인 경우 ' 암호를 키 체인에 확실히 저장 하시겠습니까? Keychain Access를 열고 로그인 키 체인에서 찾아서 확인할 수 있습니다.

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. 키 체인에 키를 저장하려면 위의 1 단계를 완료했는지 확인합니다.

  2. 아직 만들지 않았다면 ~/.ssh/config 파일을 만듭니다. 즉, 홈 디렉토리의 .ssh 디렉토리에서 config.

  3. .ssh/config 파일에 다음 줄을 추가합니다. :

     Host * UseKeychain yes AddKeysToAgent yes IdentityFile ~/.ssh/id_rsa 

    ~/.ssh/id_rsa를 개인 키의 실제 파일 이름으로 변경합니다. 다른 개인 키가있는 경우 ~/.ssh 디렉터리에 각각 IdentityFile 줄을 추가합니다. 예를 들어 두 번째 개인 키용.

    UseKeychain yes는 SSH가 OSX 키 체인에서 키를 찾도록 지시하는 핵심 부분입니다. 암호.

  4. 그게 다입니다! 다음에 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
    • 어쨌든 키가 두 개 이상이면 작동하지 않습니다. '

    답글 남기기

    이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다