1 분 소요

인프라 엔지니어로서 서버관리할 때 SSH 접속할 일이 참 많습니다. 오늘은 SSH로 노드에 접속할 때 사용하는 호스트명이 어떻게 설정되고, 시스템이 이를 어떻게 해석하는지 정리하겠습니다.

1. 호스트명(alias)과 필요성

RHCSA 시험에서 아래와 같이 간단한 SSH 명령으로 접속할 수 있습니다:

$ ssh wallah@node1

여기서 node1은 실제 IP 주소(예: 192.168.56.11) 대신 사용하는 별칭(alias) 입니다. 별칭을 사용하면 IP 관리를 일일이 기억할 필요 없이, 직관적인 이름으로 접속할 수 있어 편리합니다.

2. 호스트명(alias) 매핑 방법

2.1 /etc/hosts 파일 등록

가장 간단한 설정은 클라이언트의 /etc/hosts 파일에 직접 IP와 별칭을 등록하는 방법입니다.

192.168.56.11 node1
192.168.56.12 node2

이렇게 등록해두면, SSH는 node1이라는 이름을 /etc/hosts에서 찾아 해당 IP로 연결합니다.

2.2 내부 DNS 서버 활용

기업망이나 사설망 환경에서는 DNS 서버에 별칭을 등록해둘 수도 있습니다.

  • DNS 에 다음과 같이 A 레코드를 설정합니다:
    node1.example.com.  IN A  192.168.56.11
    node2.example.com.  IN A  192.168.56.12
    
  • 클라이언트는 /etc/resolv.conf에 지정된 DNS 서버에 질의하여 IP를 얻습니다.

DNS를 사용하면 중앙에서 호스트명을 관리할 수 있고, 많은 노드를 운영할 때 유리합니다.

2.3 ~/.ssh/config 파일(alias 추가)

SSH 전용 별칭을 정의하려면, 사용자 홈 디렉터리의 ~/.ssh/config파일을 활용할 수 있습니다. 예를 들어:

Host node1
    HostName 192.168.56.11
    User wallah
    Port 22

위와 같이 설정하면, ssh node1명령만으로도 자동으로 wallah@192.168.56.11:22로 접속합니다.

3. 이름 해석 순서: /etc/nsswitch.conf 확인

시스템은 호스트명을 해석할 때 /etc/nsswitch.conf파일의 hosts: 항목에 정의된 순서대로 조회합니다. 기본 설정 예시:

hosts:      files dns myhostname
  • files -> /etc/hosts 파일 조회
  • dns -> DNS 서버 질의
  • myhostname -> 로컬 호스트명(hostname)과 비교

따라서 위 설정에서는 /etc/hosts 에 등록된 매핑이 최우선으로 사용되고, 없으면 DNS, 그래도 없으면 로컬 호스트명으로 처리됩니다.

4. 결론

  1. 작은 테스트 환경에서는 /etc/hosts에 직접 등록하여 빠르게 접속 설정을 끝내는 것이 편리합니다.
  2. 규모가 커지거나 중앙 관리가 필요할 때는 내부 DNS에 별칭을 등록하고, nsswitch.conf에서 우선순위를 편집합니다.
  3. 개별 SSH 설정이 필요할 때는 ~/.ssh/config에 호스트별로 상세 옵션(유저, 포트, IdentifyFile 등)을 지정하면 더욱 유연한 연결이 가능합니다.

실습과 실제 운영 환경 모두에서 효율적으로 서버에 접근할 수 있도록 SSH 접속 설정을 잘 정리해두면 좋습니다.

태그:

카테고리:

업데이트:

댓글남기기