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 서버의 동작을 변경할 수 있습니다.