리눅스

리눅스 SSH 접속 허용

think0501 2025. 3. 31. 22:39

리눅스에서 SSH 접속 허용 설정 방법

SSH(Secure Shell)는 원격 서버에 안전하게 접속하고 관리할 수 있는 필수적인 프로토콜입니다. 이 글에서는 리눅스에서 SSH 접속을 허용하기 위한 설정 방법을 명령어 중심으로 설명합니다.

1. SSH 설치

리눅스에서 SSH 서버를 활성화하려면 먼저 OpenSSH 패키지를 설치해야 합니다. 배포판에 따라 설치 명령어가 다를 수 있습니다.

Ubuntu/Debian 계열

sudo apt update
sudo apt install openssh-server

CentOS/Red Hat 계열

sudo yum install openssh-server

설치 후 SSH 서비스가 자동으로 시작됩니다. 실행 상태를 확인하려면 다음 명령어를 사용합니다:

sudo systemctl status sshd

2. 방화벽 설정

SSH 접속을 허용하려면 방화벽에서 포트를 열어야 합니다. 기본적으로 SSH는 포트 22를 사용합니다.

Ubuntu/Debian 계열

sudo ufw allow ssh sudo ufw enable

CentOS/Red Hat 계열

sudo firewall-cmd --zone=public --permanent --add-service=ssh sudo firewall-cmd --reload

3. SSH 설정 파일 수정

SSH 접속 설정은 /etc/ssh/sshd_config 파일에서 관리됩니다. 이 파일을 수정하여 접속 정책을 정의할 수 있습니다.

설정 파일 열기

sudo nano /etc/ssh/sshd_config

주요 설정 옵션

  • Port 변경: 기본 포트(22)를 변경하여 보안을 강화합니다.
Port 2222
  • Root 사용자 접속 허용 여부: 보안 강화를 위해 Root 계정의 SSH 접속을 비활성화하는 것이 일반적입니다.
     
PermitRootLogin no
  • 비밀번호 인증 활성화: 비밀번호로 접속을 허용할지 여부를 설정합니다.
PasswordAuthentication yes
  • 공개 키 인증 활성화: 공개 키 기반 인증을 사용하려면 아래 옵션을 활성화합니다.
PubkeyAuthentication yes

특정 사용자만 SSH 허용

특정 사용자만 SSH 접속을 허용하려면 AllowUsers 옵션을 추가합니다:

AllowUsers user1 user2

설정 저장 및 종료

파일 수정 후 저장하고 나옵니다:

  • Nano: Ctrl+O, Enter, Ctrl+X
  • Vim: ESC, :wq, Enter

4. SSH 서비스 재시작

설정을 적용하려면 SSH 서비스를 재시작해야 합니다.

sudo systemctl restart sshd