내 컴퓨터에서 SSH 키 쌍을 생성했는데 상대방이 내 공개 키를 가지고 있습니다. 내가 해당 개인 키를 가지고 있음을 상대방에게 증명할 수 있는 방법이 있나요? 물론 이는 SSH 연결을 설정하기 위해 키를 사용할 때 발생하기 때문에 가능합니다. 기존 도구를 사용하여 셸 액세스를 제공하지 않고 SSH 인증만 수행할 수 있는지 묻고 있습니다.
답변1
예, 가능합니다. 최신 버전의 OpenSSH는 데이터 서명을 지원합니다. 다음과 같이 이 작업을 수행할 수 있습니다.
- 상대방(검증인)은 파일 형태로 무작위로 챌린지를 보냅니다.
- 실행합니다
ssh-keygen -Y sign -f ~/.ssh/id_ed25519 -n proof challenge-file
(키와 파일 이름 조정). challenge-file.sig
유효성 검사기에게 보내고 유효성 검사에 네임스페이스를 사용하도록 지시합니다proof
.- 검증자는
ssh-keygen -Y verify -n proof
서명을 검증하기 위해 적절한 매개변수를 사용하여 실행됩니다.