나는 이것에 대해 생각했고 내 호스트는 대역 외 지원을 제공하므로 대역 외에서 키 지문을 생성하고 집에서 해당 서버에 연결할 때 간단히 비교할 수 있습니다.
연결하려는 호스트가 실제로 구매한 서버인지 확인할 수 있는 대역 외 액세스 이외의 다른 방법이 있습니까?
실제로는 어떻게 이루어지나요?
답변1
제가 올바르게 이해했다면, 대역 외 채널 외에 SSH 서버의 공개 키 지문을 안전하게 검색할 수 있는 방법이 있는지 묻는 것입니다. 엄밀히 말하면 대답은 다음과 같습니다.아니요, 이론적으로 MITM(Man-In-The-Middle)은 사용자가 제공하는 자격 증명에 관계없이 "로그인"할 수 있는 가짜 SSH 서버를 설정할 수 있기 때문입니다. 실제 서버의 공개키 지문을 미리 알지 못했다면, 가짜 서버의 지문이 실제 서버의 지문이 아닌지 알 방법이 없습니다.
실제로 대부분의 사람들은 MITM이 실제로 자신을 스푸핑할 확률이 매우 낮다고 가정합니다(대부분의 경우 정당하게도 그렇습니다). 가짜 SSH 서버가 아닌 실제 SSH 서버입니다.
물론 시간이 지남에 따라 서버에 SSH 연결을 많이 하면 MITM이 스푸핑을 시도하는 것을 볼 확률이 누적됩니다. 다행히 첫 번째 연결 이후 모든 연결에 대해 서버의 공개 키가 파일에 저장됩니다 known_hosts
. 따라서 MITM이 발생한다면하다특정 연결 시도 중에 일부 헛소리를 시도합니다(~ 후에첫 번째), SSH 클라이언트는 방금 수신한 서버 키가 예상한 것과 일치하지 않는다는 사실을 즉시 경고하고 연결이 중단됩니다.
결론적으로, 서버 키를 알 수 있는 대역 외 수단이 있는 경우 파일을 업데이트하는 첫 번째 연결을 만들 때 이를 사용하여 키를 확인해야 합니다 known_hosts
. 하지만 그런 수단이 없더라도,이론적 인보안 위험은 아마도 매우 작을 것입니다.