SSH 클라이언트에서 -i 옵션으로 개인 키를 지정하는 이유는 무엇입니까?

SSH 클라이언트에서 -i 옵션으로 개인 키를 지정하는 이유는 무엇입니까?

ssh man에는 이런 말이 있습니다.

-i identity_file
             Selects a file from which the identity (private key) for public key authentication is read.  The default is
             ~/.ssh/identity for protocol version 1, and ~/.ssh/id_dsa, ~/.ssh/id_ecdsa, ~/.ssh/id_ed25519 and
             ~/.ssh/id_rsa for protocol version 2.  Identity files may also be specified on a per-host basis in the con‐
             figuration file.  It is possible to have multiple -i options (and multiple identities specified in configura‐
             tion files).  If no certificates have been explicitly specified by the CertificateFile directive, ssh will
             also try to load certificate information from the filename obtained by appending -cert.pub to identity file‐
             names.

신원 문서가 개인 키라고 명시되어 있습니다.

하지만 이는 개인 키 기밀성의 보안 원칙을 위반하는 것이 아닌가?

SSH가 네트워크를 통해 키를 전송하는 경우 손상될 수 있습니다.

대상 컴퓨터가 개인 키를 유지하고 들어오는 사용자의 공개 키를 확인하기를 원합니다.

내 이해에 문제가 있나요?

ssh가 네트워크를 통해 개인 키를 보내는 경우 비밀번호를 사용하는 것보다 어떤 이점이 있습니까?

답변1

SSH는 네트워크를 통해 개인 키를 전송하지 않습니다. 사실, 그것은 어리석은 일입니다.

개인 키는 해당 공개 키를 사용하여 생성된 대상 호스트의 "도전"에 응답하는 데만 사용됩니다. 개인 키를 보유하지 않고 문제에 답하는 것은 매우 어렵습니다. 추측을 통해 (허용되는 시간 내에) 손상시킬 수 없기 때문에 이 통신이 안전해집니다. 무차별적인 힘.

관련 정보