macOS 10.12 Sierra는 내 ssh 키 파일 암호 문구를 잊지 않습니다


25

새로운 암호화 id-rsa키 파일을 생성 ssh-keygen하고 처음으로 사용한 후에는 macOS가 암호를 잊어 버릴 수 없습니다. 이것은 OS X가 ssh 키 비밀번호 문구 질문을 기억하지 못하도록 만드는 방법 과 비슷합니다 .

재부팅하고을 죽이고 ssh-agent모든 키 체인을 잠그 려고 했지만 여전히 어딘가에 저장되어있는 것 같습니다. 그러나 어떤 키 체인에서도 찾을 수 없습니다. 이것은 매우 안전하지 않은 것 같습니다. SSH 개인 키 비밀번호에 대한 답변 은 Keychain / ssh-agent로 제거 되지 않습니다.

사실, 암호를 저장할 것인지 묻는 대화 상자 가 더 이상 존재하지 않는 것 같습니다.


실제로 암호화되어 있는지 확인 했습니까?
John Keates

네. ssh가 처음 사용할 때 암호 문구를 요구하는 것과 같습니다. 누군가 이것을 실제로 재현 할 수 있습니까?
hogliux

글쎄, 그것은 내 설정에서도 그렇게 작동하며, ssh / ssh-agent가 구성된 방식입니다.
John Keates

macOS에 암호 문구를 키 체인에 저장하도록 지시하려면 확인란을 클릭하는 것이 사실입니다. 그러나 해당 확인란을 클릭하지 않으면 macOS는 항상 암호 문구를 요구해야합니다. 그러나 클릭하더라도 키 체인 유틸리티에서 항상 다시 제거 할 수있었습니다. Sierra 이후 대화 상자가 더 이상 나타나지 않으며 키 체인 유틸리티에 항목이 없습니다.
hogliux

이 대화 상자는 더 이상 존재하지 않는 대화 상자입니다. dribin.org/dave/resources/pictures/ssh_leopard_dialog.png
hogliux

답변:


27

키 체인에 암호 문구를 저장하지 않으려면 ~ / .ssh / config 파일 에 다음 줄을 추가해야 합니다.

Host *
UseKeyChain no

키 체인에 이미 암호가 저장되어 있으면 다음 명령을 사용하여 암호를 삭제할 수 있습니다.

cd ~/Library/Keychains/<UUID>/
sqlite3 keychain-2.db 'delete from genp where agrp="com.apple.ssh.passphrases"'

OS X El Capitan 또는 이전 버전과 같은 동작 (예 : 로그 아웃 또는 다시 시작할 때까지 저장된 암호문)을 원하면 ~ / .ssh / config에 추가하십시오.

AddKeysToAgent yes

ssh-agent를 시작할 필요가 없습니다.


1
이 답변은 문제를 영구적으로 해결합니다! 그래서 나는 이것을 정답으로 표시했습니다. 고맙습니다!
hogliux

제안 편집 : 변화 Library/Keychains/<UUID>/~/Library/Keychains/<UUID>/:) 선명도
모하메드 하페즈

제안 된 편집 허용 :)
mbamac

20

Clive 덕분에이 새로운 '기능'에 대해 더 잘 이해할 수 있습니다. 암호를 입력하면 Sierra가 키 체인에 추가하지만 ssh-agent에는 추가하지 않습니다. 신원이 ssh-agent에없는 경우로 관리 할 수있는 방법이 없습니다 ssh-add. 당신이 당신의 신원을 추가해야합니다 (예. 삭제) 키 체인에서 신원 관리하려면 ssh-agent사용하여 ssh-add. ID를 추가 한 후에는 키 체인과 ID를 모두 제거하는 데 ssh-agent사용할 수 있습니다 . ssh add를 사용할 때마다 ID를 ssh-agent에 추가하려면 다음을 수행하십시오.ssh-add -K -dssh-agent

AddKeysToAgent yes

당신에게 .ssh/config. 이것은 ssh-agent항상 당신의 정체성을 보장합니다 .


후속 조치입니다. .ssh / config에 'UseKeyChain no'를 추가하면 Keychain이 암호 문구를 추가하지 못하게됩니다. ssh-agent에서 'AddKeysToAgent yes'를 유지하려면 재부팅하거나 ssh-add -d를 사용할 때까지 암호 문구를 유지합니다.
유전자 Frenkler

이를 위해서는 Apple에서 제공 한 OpenSSH를 사용해야합니다. 이 패치는 현재 양조에 포함되어 있지 않습니다homebrew/dupes/openssh: stable 7.3p1
Ryan Gibbons

3
ssh-add -K -d

이전에 키 체인에 저장된 암호를 제거 할 수 있습니다. macOS 10.12 Sierra 이후 키 체인에 저장된 암호를 다시 피하려면 ssh-add먼저 수행하십시오 .


예. 이전 버전의 macOS Sierra에서 작동했습니다. 그러나 더 이상 작동하지 않습니다. macOS Sierra는 여전히 암호 문구를 기억합니다.
hogliux

1
승인. 더 많은 조사. 한 번 잊어 버렸지 만 어디에서나 사용하면 키 체인으로 바로 돌아갑니다 (ssh, scp, git 등). 어떤 낯선 사람이 저에게 직접 이메일을 보내서 암호문이 ~ / Library / Keychains / <SOME-UUID> /keychain-2.db에 저장되어있는 것으로 나타났습니다. 그러나 로그인 키 체인 (및 다른 모든 키 체인)을 잠그더라도 OS x은 암호에 액세스 할 때 키 체인 암호를 묻지 않습니다. 정말 옳지 않은 것 같습니다.
hogliux

실제로 Sierra에서는 암호 문구가 일반적인 로그인 키 체인이 아닌 해당 키 체인 위치에 저장되는 것 같습니다.
m1keil
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.