개발로 자기계발
728x90

SSH를 사용해 처음으로 원격 서버에 연결하려고 하면, 아래와 같은 메시지를 볼 수 있다.

The authenticity of host '15.165.21.218 (15.165.21.218)' can't be established.
ED25519 key fingerprint is SHA256:xzIcOJ2vAbRGnhR4aBNXsD8vpsrE00/G4eQih+VsvUM.
This key is not known by any other names

이 메시지는 무엇을 의미하고 어떻게 대처해야 할까? 지나치게 기술적인 용어는 배제하고, 가능한 이해하기 쉽게 설명하려고 한다.

 

메시지 해석

이 메시지는 컴퓨터와 서버가 처음 만나서 서로를 인식하는 과정에서 나타난다. 서로 처음 만났기 때문에, 컴퓨터는 '정말로 이 서버가 맞는 건가?'라는 의심을 가지게 된다. 이건 마치 인터넷에서 친구를 만나려고 했는데, 그 친구를 본 적이 없어서 '정말 그 친구가 맞는 건가?'라고 의심하는 것과 비슷하다.

The authenticity of host '15.165.21.218 (15.165.21.218)' can't be established.

이 메시지는 컴퓨터가 원격 서버를 처음 보았기 때문에, 그 서버가 실제로 우리가 접속하려고 한 서버인지 확신할 수 없다는 것을 의미한다.

 

ED25519 key fingerprint is SHA256:xzIcOJ2vAbRGnhR4aBNXsD8vpsrE00/G4eQih+VsvUM.

이 줄은 원격 서버가 자신의 '아이디카드'를 우리에게 보여주는 것과 같다. 이 '아이디카드'는 서버의 고유한 식별 정보로, 우리는 이 정보를 통해 서버를 식별할 수 있다.

 

This key is not known by any other names

이 메시지는 이 '아이디카드'가 다른 이름으로 사용되지 않았음을 의미한다.

 

해결 방법

이 경고 메시지가 나타난 후에는 보통 'yes' 또는 'no'를 입력하라는 메시지가 따라온다. 'yes'를 입력하면, SSH 클라이언트는 원격 서버의 공개키를 'known_hosts' 파일에 저장하고(컴퓨터는 서버의 '아이디카드'를 받아들이고) 연결을 계속 진행한다.

다만 생각해 볼 점이 하나 있다. 우리는 처음 만나는 사람이 제시한 '아이디카드'가 진짜인지, 가짜인지 확신할 수 없다. 이런 상황에서 우리가 할 수 있는 것은, '아이디카드'의 정보가 서버 관리자가 알려준 정보와 일치하는지 확인하는 것이다. 일치한다면, 'yes'를 입력하여 연결을 계속 진행하면 된다. 만약 일치하지 않는다면, 'no'를 입력하고 문제를 서버 관리자에게 알려야 한다.(Man-in-the-Middle 대한 공격을 피할 수 있다.)

728x90
SMALL
profile

개발로 자기계발

@김잠봉

틀린부분이나 조언이 있다면 언제든 환영입니다:-)