답변:
아니요 , 개인 키는 "보내지"거나 전송되지 않습니다.
공개 키 암호화 는 기존의 사용자 이름 / 암호 인증과 다릅니다.
귀하의 공개 키는 단지이다 - 공공. 공유하는 것이 안전합니다. 공개 키를 다른 사람에게 보내면 사용자의 신원 이 공개 될 수 있지만 (다른 사람이 자신 의 고유 번호이기 때문에 본인의 정보임을 알 수 있음) 다른 사람이 사용자를 가장하거나 귀하를 인증 할 수는 없습니다. 공개 키를 수퍼 유저 또는 웹 페이지에 일반 HTTP를 통해 게시 할 수도 있습니다. 누군가가 개인 키를 가지고 있지 않으면 완벽하게 안전하고 쓸모가 없습니다.
귀하의 개인 키 는 그저 비밀입니다. 그것은 오직 당신이 소유하고 신뢰하는 시스템에만 존재하며, 누군가가 시스템에 저장된 시스템에 물리적으로 접근 할 수 있도록 최대한의 안전을 위해 항상 잠금 해제 암호로 암호화되어야합니다. 개인 키는 공개 키 암호화 규칙에 따라 올바르게 구현 된 보안 프로그램에 의해 전송되지 않습니다. 즉, 로컬 시스템에 손상되어 개인 키를 읽을 수있는 프로그램이없고 (개인 키는 암호로 암호화되지 않은) 개인 키는 항상 안전합니다.
메시지는 원격 서버로 전송되기 전에 컴퓨터 에서 개인 키로 서명 됩니다 . 따라서 개인 키를 원격 서버로 보내지 않고 개인 키로 암호화 된 메시지 를 보냅니다 . 그러나이 두 가지는 동일하지 않습니다 . 서명 된 메시지에서 개인 키를 파생 시킬 수 없습니다 . 이는 공개 키 암호화의 일부입니다.
즉, 적대적 공격자가 사용자의 공개 키를 획득하더라도 및 개인 키로 서명을 얻 메시지를, 그들은 여전히 실제 개인 키를 획득 할 수 없습니다, 따라서 그들은 자격 증명을 가장하거나 "인증하기 위해 개인 키를 사용할 수 없습니다 당신".
프로세스를 오해하고 있습니다.
키는 전송되지 않으며 공개 키로 일치하는 개인 키로 만 해독 할 수있는 것을 암호화하여 "도전"을 구성합니다.
암호를 묻는 메시지가 표시되거나 손상된 서버로 X를 전달하면 잠재적 인 보안 위험이 있습니다.
debug1: Offering RSA public key: <$HOME>/.ssh/id_rsa
출력하므로 id_rsa.pub가 이미 공유되어 있어도 개인 키가 공유되고 있다고 생각할 수 있습니다.
ssh
. @ pjc50의 답변은 내가 찾고있는 보증을 제공하는 것 같습니다.