MacOS Keychain Access는 SSH 암호 문구를 무기한 보유합니다


0

편의상 MacOS가 RSA 암호를 붙잡기를 원하지만 (보안상의 이유로) 무기한은 아닙니다. SSH 가이 SSH 구성으로 키 체인 액세스 를 사용한다고 생각 합니다.

Host *
     UseKeychain true

그리고 나는 이 구성에 ssh-agent 를 사용할 것이라고 믿습니다 .

Host *
     AddKeysToAgent yes

몇 가지 질문 :

  1. ssh-agent 또는 Keychain Access의 두 가지 옵션이있는 것 같습니다 . 비밀번호 문구 를 임시로 저장 하는 편의가 필요한 경우 표준은 무엇입니까?
  2. Keychain Access에서 기본 개인 키의 암호를 어떻게 식별하고 지울 수 있습니까? 이름이 지정되지 않은 개인 키가 표시되지만 저장된 SSH 키인지 확인하지 않고 삭제하고 싶지 않습니다.
  3. 개인 키 암호를 정기적으로 지우려면 가장 좋은 방법은 무엇입니까? cron 작업에서 ssh-add -D를 사용할 수 있습니다

답변:


1

시작하기 전에 몇 가지 사항을 명확히하겠습니다.

  • macOS를 사용하면 개인 키 암호 문구 를 macOS 키 체인에 저장할 수 있습니다 .
  • ssh-agent (macOS 또는 시스템)는 해독 된 개인 키 를 메모리에 보관합니다 .

질문에 답하기 위해서는 구별이 중요합니다.

  1. ssh-agent 또는 Keychain Access의 두 가지 옵션이있는 것 같습니다.

정확히. 위의 설명을 참조하십시오. 에서 UseKeychain yes지시문 을 사용하는 경우 소켓에 ~/.ssh/config연결하는 모든 프로그램 은 암호 문구가 개인 키의 암호를 해독하기 위해 키 체인에 연결할 ssh-agentssh-agent있습니다. 지시문 사용하는 경우 AddKeysToAgent yes나중에 사용할 수 있도록 해독 된 키가 에이전트에 저장됩니다. 또 다른 관련 질문볼 수 있습니다.

... 비밀번호 문구를 임시로 저장하는 편의가 필요한 경우 표준은 무엇입니까?

macOS가 암호를 일시적으로 저장하도록 할 수있는 방법이 없습니다 . 그러나 거의 동일한 효과에 대해 부분적으로 만족스러운 솔루션이있을 수 있습니다 (아래 질문 3에 대한 답변 참조).

  1. Keychain Access에서 기본 개인 키의 암호를 어떻게 식별하고 지울 수 있습니까? 명명되지 않은 개인 키가 표시되지만 저장된 SSH 키인지 확인하지 않고 삭제하고 싶지 않습니다.

Mac에서 Keychain Access를 열고를 검색 ssh하면 ssh 키 암호 문구가 표시되지 않을 수 있습니다. macOS Sierra (10.12)부터 Apple ssh은 저장된 키 체인 키를 이동했습니다 . 이를 보려면 "보기 >> 보이지 않는 항목 표시" 를 선택하면 ssh 키 비밀번호 문구 항목이 표시됩니다.

다른 RSA (또는 DSA) 키인 것으로 보이는 "이름이없는 개인 키"일 가능성이 있습니다.

  1. 개인 키 암호를 정기적으로 지우려면 가장 좋은 방법은 무엇입니까? 나는 ssh-add -Dcron 작업에서 사용할 수 있습니다 .

ssh-add -D크론 작업을 할 수는 있지만 원하는 작업을 수행 할 수는 있지만 키 체인 에서 암호 문구 를 제거하지는 않습니다 . 암호 해독 된ssh-agent 모든 개인 키 실행 에 대한 메모리 만 지 웁니다 . 당신이있는 경우 귀하의 설정에, 행복하게 다시는 필요한 다음 번 (질문 1 답 위 참조) 키를 다시 해독됩니다.UseKeychain yesssh-agent

암호 해독 된 키를 항상 사용할 수 없도록 함축하려는 욕구를 충족시키는 한 가지 대안은 다음 UseKeychainAddKeysToAgent같이 및를 모두 끄는 것 입니다.

Host *
  UseKeychain no
  AddKeysToAgent no

다음 ssh-agent과 같이 -t <lifetime>옵션을 사용하여 수명이 제한된 러닝에 키를 수동으로 추가하십시오 ssh-add.

ssh-add -t 4h ~/.ssh/id_rsa

그러면 수명 기간이 4 시간 인 에이전트에 (기본) RSA 키가 추가됩니다. 4 시간이 지나면 키가 자동으로 제거됩니다.

내가 아는 한, 사용자 ~/.ssh/config에게 에이전트에 추가 된 키의 기본 수명을 지정 하라는 지시문이 없으며 시스템에 방법이 없습니다 sshd_config. 그러나 macOS가 옵션을 사용하여 기본 수명으로 에이전트를 시작하도록 지시하는 방법 이있을 있습니다 -t <lifetime>. 대담한 경우에는 시작 에이전트 plist 파일이에 저장됩니다 /System/Library/LaunchAgents/com.openssh.ssh-agent.plist.

잠자고 있는 또 다른 오래된, 아마도 관련있는 접근 방식은 키 체인을 잠급니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.