Linux/네트워크 및 서비스의 활용

라즈베리파이 첫 연결, 호스트명으로 SSH 연결

easyfly 2026. 4. 3. 12:36
반응형

 

호스트명으로 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 키

즉, 순서는 보통 이렇습니다.

  1. 서버가 먼저 자기 신분증을 보여줌
  2. 사용자가 그 서버를 믿을지 결정
  3. 그다음에 사용자가 비밀번호를 입력

따라서 화면에 저 메시지가 뜬 것은
비밀번호 단계 이전에, 서버의 신분 확인 단계가 먼저 나온 것입니다.


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는 먼저:

  1. 서버가 진짜인지 확인
  2. 그 다음
  3. 사용자가 누구인지 확인

즉,
“가짜 서버에 내 비밀번호를 주지 않도록 먼저 서버부터 검증한다”
이것이 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
  • 호스트 키가 바뀌었다는 경고

이 뜻은 보통 셋 중 하나입니다.

  1. 서버를 새로 설치했다
  2. 같은 이름이 다른 서버를 가리키게 됐다
  3. 드물지만 보안상 의심 상황일 수 있다

즉,
처음 보는 서버라서 묻는 것은 자연스럽지만,
예전에 알던 서버의 키가 바뀌었다는 것은 주의가 필요합니다.


16. 지금 화면에서 핵심만 다시 짚으면

지금 화면은 문제가 아니라, 오히려 정상적인 보안 절차입니다.

  • golmosil이라는 이름으로 SSH 접속 시도
  • 실제 IP는 10.165.30.40
  • SSH가 서버의 호스트 키를 제시
  • 사용자가 yes를 입력해 신뢰
  • 키가 known_hosts에 저장됨
  • 비밀번호 인증 성공
  • Debian 리눅스 서버에 로그인 완료

 

반응형