SSH 개인 키를 키 체인에 영구적으로 추가하여 ssh에서 자동으로 사용할 수 있도록하려면 어떻게해야합니까? 때마다 비밀번호를 묻는 것 같습니다 . 로그인

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

  2. 아직 ~/.ssh/config파일을 작성하지 않은 경우 파일을 작성 하십시오. 즉, .ssh홈 디렉토리 의 디렉토리에라는 파일을 작성하십시오 config.

  3. 해당 .ssh/config파일에서 다음 줄을 추가하십시오.

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

    ~/.ssh/id_rsa개인 키의 실제 파일 이름으로 변경하십시오 . ~.ssh디렉토리 에 다른 개인 키가있는 경우 각 개인 키를 추가하십시오 IdentityFile. 예를 들어, IdentityFile ~/.ssh/id_ed25519두 번째 개인 키 를 읽는 추가 줄이 하나 있습니다.

    이것은 UseKeychain yes핵심 부분으로 SSH가 OSX 키 체인에서 키 암호 문구를 찾도록 지시합니다.

  4. 그게 다야! 다음에 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


답변

“로그인”키 체인이 작동하지 않거나 잠자기 상태이거나 재부팅 한 경우마다 암호를 묻는 메시지가 나타납니다. 이를 해결하기위한 두 가지 방법이 있습니다.

  1. “로그인”키 체인의 설정을 변경하십시오. ssh 키가 “로그인”키 체인에 저장되어 있다고 가정합니다.

    • 열린 키 체인 접근
    • “로그인”키 체인 강조
    • “로그인”키 체인을 마우스 오른쪽 버튼으로 클릭하거나 옵션 클릭
    • “X 분 동안 활동이 없으면 잠금”및 “자기 잠금”확인란의 선택을 취소하십시오.
  2. 암호를 사용하지 않고 다른 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

희망이 도움이


답변