리눅스 서버에 원격으로 접속하려면 SSH (Secure Shell)를 사용합니다.
하지만 기본 설정만으로 운영하는 경우, 보안에 취약할 수 있어요.
- SSH 서버 설정 기본
- 포트 변경, 루트 로그인 차단
- 공개키 기반 로그인 설정
- 기본적인 SSH 보안 강화 팁
1. SSH 서버 설치 및 시작
- Ubuntu/Debian
sudo apt update
sudo apt install openssh-server
- CentOS/RHEL
sudo dnf install openssh-server
- 서비스 시작 및 부팅 시 자동 실행
sudo systemctl enable --now ssh
또는 CentOS에서는 sshd
로 사용할 수도 있어요.
2. 설정 파일 위치와 편집
/etc/ssh/sshd_config
SSH 설정은 이 파일을 통해 제어합니다.
sudo nano /etc/ssh/sshd_config
3. 보안 강화 설정 항목
- 기본 포트 변경 (기본값: 22)
Port 2222
기본 포트를 사용하면 자동화된 공격의 대상이 되기 쉽습니다.
다른 포트로 바꾸는 것만으로도 어느 정도 보호 효과가 있어요.
- 루트 로그인 차단
PermitRootLogin no
루트 계정으로 직접 접속하지 못하도록 막는 것이 보안의 기본입니다.
- 비밀번호 로그인 비활성화
PasswordAuthentication no
공개키 인증만 허용하면 무차별 대입 공격을 막을 수 있습니다.
4. 공개키 기반 로그인 설정
- 클라이언트에서 키 생성
ssh-keygen -t rsa -b 4096
생성된 공개키는 기본적으로 ~/.ssh/id_rsa.pub
에 저장됩니다.
- 서버에 공개키 등록
ssh-copy-id user@server-ip
또는 수동으로 ~/.ssh/authorized_keys
에 직접 붙여넣어도 됩니다.
5. 설정 반영 및 SSH 재시작
sudo systemctl restart ssh
sshd
로 운영 중인 시스템이라면 해당 명령어를 사용하세요.
---
6. 추가적인 SSH 보안 팁
- Fail2Ban을 설치해서 비정상 로그인 시도를 자동 차단하기
- 방화벽(UFW, firewalld 등)으로 SSH 포트 제한
- 허용 IP만 접속 가능하도록 설정하기 (AllowUsers 또는 방화벽)
SSH는 서버 보안의 시작입니다
서버에 접속하는 가장 기본적인 방법이지만,
그만큼 공격 대상이 되기 쉽습니다.
기본 포트 변경, 루트 로그인 제한, 공개키 인증 전환만 해도
보안 수준을 크게 향상시킬 수 있습니다.
'개발 > 리눅스' 카테고리의 다른 글
[Linux] /etc/passwd, /etc/shadow 파일 이해하기 (0) | 2025.07.01 |
---|---|
[Linux] ssh-keygen으로 SSH 키 인증 로그인 설정 (0) | 2025.06.30 |
[Linux] 방화벽 설정하기 (UFW, firewalld) (0) | 2025.06.28 |
[Linux] sudo 권한 부여 및 제한하기 (0) | 2025.06.27 |
[Linux] 리눅스 사용자 추가/삭제하는 방법 (0) | 2025.06.26 |