macOS에서 Touch ID로 SSH 키 설정하기

6 hours ago 2

Mac의 Secure Enclave에 추출할 수 없는 개인 키를 만들고, SSH 인증 때마다 Touch ID로 사용을 승인하는 구성이 가능함 기본 제공 도구로 신원 생성, SSH 에이전트 등록, 공개 키 확인까지 명령 3개로 설정할 수 있으며 GitHub의 SSH 인증에도 적용됨 ssh-keychain.dylib 가 SSH 에이전트와 Secure Enclave를 연결하며, 개인 키를 내보내지 않고 Secure Enclave 안에서 인증용 서명을 생성함 재부팅 뒤에는 에이전트에 다시 등록해야 하며, Mac이 고장 나면 해당 신원도 잃으므로 새로 생성해 서버에 재등록해야 함 내부 동작에는 문서화되지 않은 부분이 많으며, 세부 설명 일부는 기존 조사와 매뉴얼, 직접 실험을 바탕으로 한 추정임 Secure Enclave와 Touch ID를 사용하는 이유 Mac의 Secure Enclave에 생성한 신원을 Touch ID로 보호하고 SSH 인증에 사용할 수 있음 개인 키 재료를 표시하거나 추출하지 않으므로 일반적인 개인 키 파일처럼 복사해 가져갈 수 없음 생체 인증을 설정하면 신원을 사용할 때마다 승인 요청이 나타남 ~/.ssh/id_ed25519.pub 같은 키 파일을 파일 시스템에 따로 둘 필요가 없으며, 실수로 파일을 삭제할 위험도 없음 이 보호는 일반 SSH뿐 아니라 GitHub 같은 Git over SSH 사용에도 적용됨 사용자가 보호 기능을 일상적으로 올바르게 적용하려면 보안 인터페이스는 사용하기 쉬워야 함 Saltzer와 Schroeder의 「The Protection of Information in Computer Systems」 원칙과 맞닿아 있음 명령 3개로 설정하기 먼저 신원을 한 번 생성함 sc_auth create-ctk-identity -l ssh-key -k p-256-ne -t bio Touch ID 요청을 승인하면 신원이 생성되어 안전하게 저장됨 다음 명령으로 SSH 에이전트에 등록함 ssh-add -K -S /usr/lib/ssh-keychain.dylib PIN을 요구하면 아무것도 입력하지 않고 Enter를 누르면 됨 재부팅한 뒤에는 이 명령을 다시 실행해야 함 GitHub 등 새 서버에 등록할 공개 키는 ssh-add -L로 확인함 여러 신원이 나타나면 sk-ecdsa-sha2-nistp256...으로 시작하는 줄을 사용함 이 값은 공유할 수 있는 공개 키이며, GitHub의 SSH ...

Read Entire Article




피플앤툴즈 네트워크
🛍 샵