SSH는 원격 서버 접속에 자주 사용하는 프로토콜 중 하나이지만 기본적으로 사용되는 22번 포트는 보안 위협이 될 수 있다. 이는 SSH 기본 포트를 다른 번호로 변경하는 방법으로 보안을 강화할 수 있다.
이 포스트는 CentOS 8에서 SSH 기본 포트를 2220번으로 변경하는 절차에 대한 글이다.
1. 방화벽 설정 변경
새 포트를 사용하기 위해서는 방화벽 설정을 변경해야 한다. 만약 방화벽(firewalld)을 사용하지 않는다면 이 절차는 생략해도 된다.
# firewall-cmd --permanent --zone=public --add-port=2220/tcp
# firewall-cmd --reload
2. SELinux 정책 수정
SELinux는 포트 라벨링을 통해 포트의 사용을 제어하므로, SSH 서비스가 2220번 포트를 사용하려면 SELinux 정책을 수정해야 한다. 이 과정이 없으면 3번 절차 수행 후 sshd 서비스를 재시작할 때 실패할 수 있다.
# semanage port -a -t ssh_port_t -p tcp 2220
3. sshd_conf 파일 수정
sshd_conf 파일은 SSH 서버의 동작 방식에 대해 설정하는 파일이다.
# vi /etc/ssh/sshd_conf
Port 22 부분을 주석처리 하고, Port XXXX 행을 추가한다.
나는 2220번을 SSH 포트로 변경할 것이기 때문에 Port 2220을 추가했다.
# Port 22
Port 2220

입력 후 :wq로 나온다.
4. sshd 서비스 재시작
sshd_conf 파일을 수정했다면 SSH 서비스를 재시작하여 SSH 서버의 동작 방식을 바꿔줘야 한다.
# systemctl restart sshd
5. SSH 접속 테스트
클라이언트 서버에서 SSH 서버로 접속을 시도해보자.
# ssh root@192.168.10.100
# ssh root@192.168.10.100 -p 2220
첫번째 명령어는 SSH의 기본 포트인 22번 포트로 접속하는 커맨드이고, 두번째 -p 옵션을 준 명령어가 2220번 포트로 접속하는 커맨드다. 두번째 커맨드 입력 시 잘 접속이 되면 성공이다.
아래 사진은 client01에서 server(192.168.10.100)로 SSH 2220번 포트를 통하여 원격 접속한 화면이다.

6. 로그 확인
SSH 접속한 Client IP를 확인하는 커맨드다
# tail -10 /var/log/secure
# tail -f /var/log/secure
첫번째 커맨드는 secure 파일의 제일 최근 로그 10줄을 확인하는 커맨드고,
두번째 커맨드는 secure에서 축적되는 로그를 실시간으로 확인하는 커맨드다.

'IT운영 > 리눅스' 카테고리의 다른 글
리눅스 CentOS 8 설치 후 IP 설정 방법 (0) | 2023.03.26 |
---|---|
CentOS 8 폐쇄망에서 NTP 서버 설치 및 설정 (서버, 클라이언트) (0) | 2023.03.19 |
CentOS 8 root 패스워드 분실로 인한 재설정 방법 (0) | 2023.03.12 |
리눅스 CentOS 8 로컬 YUM Repository 구성하기 (0) | 2023.03.05 |
리눅스 CentOS 8 ISO 다운로드 및 설치 방법 (0) | 2023.03.05 |