호스트명으로 SSH 연결
라즈베리 파이 설치가 끝나고 원격으로 첫 연결을 시도합니다. 호스트명을 부여하면 같은 네트워크에서 원격 연결을 할 때는 쉽게 접속할 수 있습니다. 물론 아이피로 연결하는 것에 비해 더디지만 동적 아이피 부여가 어떤 것이지 확인되기 전에 호스트명으로 연결한다는 장점이 있습니다.
자세한 내용을 알아봅니다.

1. 라즈베리파이 첫 연결
사용자가 입력한 명령은 이것입니다.
ssh easyfly@golmosil
뜻은:
- ssh : 원격 컴퓨터에 안전하게 접속하는 도구
- easyfly : 원격 컴퓨터 안의 사용자 계정 이름
- golmosil : 접속하려는 컴퓨터 이름 또는 별칭
즉,
“golmosil이라는 컴퓨터에 easyfly 계정으로 암호화 통신을 시작하라”
는 뜻입니다.
2. 왜 갑자기 경고가 떴는가
화면의 핵심 문장은 이것입니다.
The authenticity of host 'golmosil (10.165.30.40)' can't be established.
뜻:
“이 서버가 정말 네가 접속하려는 그 서버가 맞는지, 아직 확인된 적이 없다.”
SSH는 그냥 비밀번호만 물어보는 방식이 아닙니다.
먼저 서버 자신의 신분증을 내밉니다.
이 신분증 역할을 하는 것이 바로 호스트 키(host key) 입니다.
3. 호스트 키(host key)란 무엇인가
SSH에는 두 종류의 신원 확인이 있습니다.
첫째, 서버가 자기 신원을 증명
- “내가 바로 그 서버다”
- 이것이 호스트 키
둘째, 사용자가 자기 신원을 증명
- “내가 접속 권한이 있는 사용자다”
- 이것이 비밀번호 또는 사용자용 SSH 키
즉, 순서는 보통 이렇습니다.
- 서버가 먼저 자기 신분증을 보여줌
- 사용자가 그 서버를 믿을지 결정
- 그다음에 사용자가 비밀번호를 입력
따라서 화면에 저 메시지가 뜬 것은
비밀번호 단계 이전에, 서버의 신분 확인 단계가 먼저 나온 것입니다.
4. ED25519 key fingerprint는 무엇인가
화면에 이런 줄이 있습니다.
ED25519 key fingerprint is SHA256:...
이것은 서버의 호스트 키 전체를 길게 보여주는 대신,
그 키를 짧게 요약한 지문(fingerprint)입니다.
비유하면:
- 원본 키 = 주민등록증 원본 전체
- fingerprint = 그 주민등록증의 고유 요약값
왜 이렇게 하느냐면,
원래 키는 길고 복잡해서 사람이 비교하기 어렵기 때문입니다.
그래서 SHA256 같은 방식으로 짧은 식별값으로 보여줍니다.
5. 왜 “계속 접속하겠습니까?”라고 묻는가
화면:
Are you sure you want to continue connecting (yes/no/[fingerprint])?
이 질문의 뜻은:
“지금 이 서버의 신분증을 처음 봤는데, 믿고 저장할까요?”
여기서 yes를 치면:
- 이 서버의 호스트 키를
- 내 컴퓨터의 known_hosts 파일에 저장합니다.
즉, 이번 한 번만 확인하고 끝나는 것이 아니라,
앞으로는 이 서버를 기억해 두겠다는 뜻입니다.
6. known_hosts 파일은 무엇인가
화면에 이런 내용이 보입니다.
This host key is known by the following other names/addresses:
~/.ssh/known_hosts:20: 10.165.30.40
이 뜻은 매우 중요합니다.
SSH는 사용자가 예전에 저장해 둔 서버 신분증 목록을
~/.ssh/known_hosts 파일에 보관합니다.
여기서:
- ~ : 현재 사용자 홈 폴더
- .ssh : SSH 관련 설정 폴더
- known_hosts : “내가 이미 알고 있는 서버 목록”
즉, SSH는 말합니다:
“이 키는 완전히 처음 보는 것은 아니고, 예전에 10.165.30.40라는 주소로는 이미 알고 있던 키다.”
다만 이번에는 golmosil이라는 이름으로 접속했기 때문에
이 이름으로도 저장할지 물어본 것입니다.
7. 왜 IP 주소와 이름이 함께 나오는가
화면의 흐름을 보면:
- 접속 이름: golmosil
- 실제 해석된 주소: 10.165.30.40
즉, golmosil은 이름이고
10.165.30.40은 실제 네트워크 주소(IP) 입니다.
원리상 SSH는 이름으로 접속하더라도,
실제로는 그 이름이 어떤 IP를 가리키는지 알아낸 뒤 접속합니다.
비유하면:
- “골모실” = 사람 이름
- “광주 어디 아파트 몇 동 몇 호” = 실제 주소
8. 왜 “known by other names/addresses”가 뜨는가
이 부분은 아주 자연스러운 현상입니다.
같은 서버를 다음처럼 여러 방식으로 접속할 수 있습니다.
- ssh easyfly@golmosil
- ssh easyfly@10.165.30.40
- ssh easyfly@hostname.local
SSH 입장에서는
이름은 달라도, 보여주는 호스트 키가 같으면 같은 서버일 가능성이 높다고 봅니다.
그래서:
- “이 키는 이미 10.165.30.40로 알고 있었어”
- “이번에는 golmosil이라는 이름으로도 접속하네”
- “그럼 golmosil도 같은 서버로 저장할까?”
이런 의미입니다.
9. 왜 이 절차가 중요한가
이 절차의 핵심 목적은 중간자 공격(MITM, man-in-the-middle attack) 방지입니다.
만약 누군가가 중간에서 가짜 서버를 내세우면:
- 사용자는 원래 서버라고 착각하고 비밀번호를 입력할 수 있습니다.
- 그러면 비밀번호를 도난당할 수 있습니다.
그래서 SSH는 처음 접속할 때 반드시 묻습니다.
“이 서버의 신분증을 믿을 근거가 있나?”
가장 안전한 방법은 원래 서버 화면에서 직접 호스트 키 지문을 확인해
서로 대조하는 것입니다.
가정이나 개인 내부망에서는 실제로는 그냥 yes를 누르는 경우가 많지만,
원리상으로는 서버 신원을 검증하는 단계입니다.
10. 그다음에 왜 비밀번호를 물어봤는가
호스트 키를 믿겠다고 한 뒤에야
easyfly@golmosil's password:
가 나왔습니다.
이 순서는 매우 중요합니다.
SSH는 먼저:
- 서버가 진짜인지 확인
- 그 다음
- 사용자가 누구인지 확인
즉,
“가짜 서버에 내 비밀번호를 주지 않도록 먼저 서버부터 검증한다”
이것이 SSH의 기본 원리입니다.
11. 접속 성공 후 나온 정보의 의미
접속 후 이런 정보가 나왔습니다.
Linux golmosil 6.12.47+rpt-rpi-2712 ...
Debian GNU/Linux ...
Last login: Fri Apr 3 08:49:23 2026 from 10.165.30.223
뜻은 다음과 같습니다.
Linux golmosil ...
- 접속한 원격 시스템이 리눅스임
- 호스트 이름이 golmosil
- 커널 버전 정보가 표시됨
Debian GNU/Linux ...
- 운영체제가 Debian 계열이라는 뜻
Last login: ... from 10.165.30.223
- 이전에 누군가 이 서버에 접속했던 기록
- 어느 주소에서 접속했는지 남겨 줌
이 정보는
**“지금 내가 어느 시스템에 들어왔는가”**를 알려주는 일종의 환영 메시지입니다.
12. 마지막 프롬프트의 의미
맨 아래:
easyfly@golmosil:~ $
이 상태가 되면 이미 접속 성공입니다.
뜻은:
- 현재 사용자: easyfly
- 현재 접속한 컴퓨터: golmosil
- 현재 위치: ~ = 홈 디렉터리
- $ : 일반 사용자 권한 셸 프롬프트
즉, 지금은
내 윈도우 컴퓨터가 아니라, 원격 라즈베리파이/리눅스 시스템 안에서 명령을 내리는 상태입니다.
13. 이번 상황을 한 줄로 정리하면
이번 접속 과정은 이렇게 요약할 수 있습니다.
“SSH가 원격 서버의 신분증(호스트 키)을 처음 확인하고, 그 서버를 신뢰 목록에 저장한 뒤, 비밀번호 인증을 거쳐 안전하게 로그인한 과정”
14. 앞으로 같은 서버에 다시 접속하면 왜 덜 묻는가
이미 known_hosts에 저장되었기 때문에
다음부터는 같은 이름과 같은 키 조합이면 보통 바로 넘어갑니다.
즉:
- 처음 접속: “이 서버 믿을까요?”
- 다음 접속: “예전에 보던 그 서버네요”
이렇게 됩니다.
15. 반대로 나중에 큰 경고가 뜨면 무슨 뜻인가
나중에 이런 류의 경고가 뜨면 중요합니다.
- REMOTE HOST IDENTIFICATION HAS CHANGED
- 호스트 키가 바뀌었다는 경고
이 뜻은 보통 셋 중 하나입니다.
- 서버를 새로 설치했다
- 같은 이름이 다른 서버를 가리키게 됐다
- 드물지만 보안상 의심 상황일 수 있다
즉,
처음 보는 서버라서 묻는 것은 자연스럽지만,
예전에 알던 서버의 키가 바뀌었다는 것은 주의가 필요합니다.
16. 지금 화면에서 핵심만 다시 짚으면
지금 화면은 문제가 아니라, 오히려 정상적인 보안 절차입니다.
- golmosil이라는 이름으로 SSH 접속 시도
- 실제 IP는 10.165.30.40
- SSH가 서버의 호스트 키를 제시
- 사용자가 yes를 입력해 신뢰
- 키가 known_hosts에 저장됨
- 비밀번호 인증 성공
- Debian 리눅스 서버에 로그인 완료
'Linux > 네트워크 및 서비스의 활용' 카테고리의 다른 글
| 와이어샤크(Wireshark) (5) | 2025.10.25 |
|---|---|
| 네트워크를 통해 오가는 데이터 패킷 캡처, 와이어샤크(Wireshark) (1) | 2025.10.24 |
| 프로토콜(Protocol) (3) | 2025.10.23 |
| 네트워크에서 데이터를 주고받는 방식 (2) | 2025.10.22 |
| 네트워크 종류 (1) | 2025.10.21 |