Launch service pages are live SaaS, web app, indie game, and home server public-context handoffs. No secrets.
Services SaaS Web App Game Homelab

sshd_config 파일 분석 가이드

Linux 서버 운영 관점에서 sshd_config 파일 분석 가이드의 목적, 적용 범위, 실행 전 확인할 항목을 정리한 기술 노트입니다.

핵심 요약

  • Linux 서버 운영 기준으로 글의 목적과 적용 범위를 먼저 확인할 수 있게 정리했습니다.
  • 원문의 명령어, 로그, 절차는 보존하고 운영자가 먼저 봐야 할 맥락을 앞쪽에 배치했습니다.
  • 실행형 명령은 대상 환경, 권한, 백업 또는 롤백 경로를 확인한 뒤 적용하는 것을 전제로 합니다.

적용 범위

이 글은 Linux 서버 운영 업무에서 sshd_config 파일 분석 가이드를 빠르게 검토하기 위한 운영 노트입니다. 실습이나 변경 작업은 각자의 랩/운영 환경 기준으로 값과 절차를 재확인한 뒤 진행합니다.

정리된 본문

ssh 서버를 설정하기 위해 사용되는 sshd_config 파일의 예시 내용을 분석해보겠습니다.


#   $OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj Exp $

#   sshd_config(5) - OpenSSH daemon configuration file


#   See sshd_config(5) for more information.


#   This file is read before starting up the sshd daemon.  It defines

#   the parameters for the server.



Port 22                             # SSH 접속에 사용할 포트 번호

AddressFamily any                   # IP 버전 선택 (IPv4, IPv6, 둘 다)

ListenAddress 0.0.0.0               # IP 주소 및 포트 바인딩 옵션

ListenAddress ::                    # IPv6 주소 및 포트 바인딩 옵션

HostKey /etc/ssh/ssh_host_rsa_key   # 호스트 RSA 개인키 파일 경로

HostKey /etc/ssh/ssh_host_ecdsa_key # 호스트 ECDSA 개인키 파일 경로

HostKey /etc/ssh/ssh_host_ed25519_key # 호스트 Ed25519 개인키 파일 경로

SyslogFacility AUTH                 # 로깅 시스템

LogLevel INFO                       # 로그 레벨

LoginGraceTime 2m                   # 로그인 대기 시간

PermitRootLogin no                  # Root 계정으로의 SSH 접속 허용 여부

StrictModes yes                     # 권한 모드 체크 여부

RSAAuthentication yes               # RSA 인증 사용 여부

PubkeyAuthentication yes            # 공개키 인증 사용 여부

AuthorizedKeysFile .ssh/authorized_keys # SSH 공개키 파일 경로

PasswordAuthentication yes          # 패스워드 인증 사용 여부

PermitEmptyPasswords no             # 빈 패스워드 허용 여부

ChallengeResponseAuthentication no  # Challenge-Response 인증 사용 여부

X11Forwarding yes                   # X11 포워딩 사용 여부

PrintMotd no                        # 로그인 메시지 출력 여부

AcceptEnv LANG LC_*                 # 환경 변수 관련 설정

Subsystem sftp /usr/lib/openssh/sftp-server # SFTP 서브시스템 경로

UsePAM yes                          # PAM 모듈 사용 여부



위 sshd_config 예시에서는 주석(#으로 시작하는 줄)과 함께 다양한 옵션이 포함되어 있습니다. 각각의 옵션은 다음과 같은 용도를 가집니다.


•   Port: sshd가 바인딩할 포트 번호를 지정합니다.

•   AddressFamily: IPv4, IPv6 중 어떤 IP 버전을 사용할지 선택합니다.

•   ListenAddress: sshd가 연결을 기다리는 IP 주소와 포트 번호를 지정합니다.

•   HostKey: 호스트 인증에 사용되는 RSA, ECDSA, Ed25519 등의 개인키 파일 경로를 지정합니다.

•   SyslogFacility: 로깅 시스템을 지정합니다.

•   LogLevel: 로그 레벨을 설정합니다.

•   LoginGraceTime: SSH 접속이 가능한 대기 시간을 지정합니다.

•   PermitRootLogin: root 계정으로 ssh 접속을 허용할지 여부를 지정합니다. (no로 설정되어 있음)

•   StrictModes: 권한 모드 체크 여부를 설정합니다.

•   RSAAuthentication: RSA 인증 사용 여부를 지정합니다.

•   PubkeyAuthentication: 공개키 인증 사용 여부를 지정합니다.

•   AuthorizedKeysFile: SSH 공개키 파일 경로를 지정합니다.

•   PasswordAuthentication: 패스워드 인증 사용 여부를 지정합니다.

•   PermitEmptyPasswords: 빈 패스워드 허용 여부를 지정합니다.

•   ChallengeResponseAuthentication: Challenge-Response 인증 사용 여부를 지정합니다.

•   X11Forwarding: X11 포워딩 사용 여부를 지정합니다.

•   PrintMotd: 로그인 메시지 출력 여부

•   X11Forwarding: X11 포워딩 사용 여부를 지정합니다.

•   PrintMotd: 로그인 메시지 출력 여부를 지정합니다.

•   AcceptEnv: 클라이언트에서 ssh를 실행할 때 전송되는 환경 변수 이름을 지정합니다. LANG 및 LC_*와 같은 몇 가지 환경 변수는 SSH 세션에서 유효합니다.

•   Subsystem: sftp 서비스를 제공하는 SFTP 서브 시스템 경로를 지정합니다.

•   UsePAM: PAM 모듈 사용 여부를 지정합니다. (yes로 설정되어 있음)


위 정보들은 sshd_config 파일에서 sshd daemon의 동작과 관련된 주요 설정 항목들입니다. 이러한 설정 값을 수정하여 SSH 서버의 동작을 변경할 수 있습니다.

운영 체크리스트

  • 대상 OS, 버전, 네트워크 구간, 권한 범위가 현재 환경과 일치하는지 확인합니다.
  • 운영 장비에서 실행하기 전 테스트 환경 또는 읽기 전용 명령으로 먼저 검증합니다.
  • 설정 변경, 패키지 설치, 서비스 재시작이 포함되면 백업과 롤백 절차를 준비합니다.

실무 지원이 필요하다면

이 글의 내용을 실제 환경에 맞게 검증하거나 운영 절차로 정리해야 한다면, Linux 서버 상태 점검, 장애 로그 분석, 운영 체크리스트 작성를 1회성 기술 리뷰 또는 짧은 운영 개선 스프린트로 도와드릴 수 있습니다.

  • 대상 환경과 현재 증상을 기준으로 실행 전 체크리스트를 정리합니다.
  • 명령어, 로그, 설정 변경이 필요한 경우 안전한 검증 순서와 롤백 포인트를 분리합니다.
  • sshd_config 파일 분석 가이드와 연결된 작업을 보고서, Runbook, 자동화 초안 형태로 정리합니다.

서비스 안내 보기 · 주제별 글 읽기 · 작업 문의

\n\n\n