본문 바로가기
IT운영/리눅스

리눅스 CentOS, Redhat SSH 22 포트 변경 방법

by Torobeen 2023. 3. 19.
반응형

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에서 축적되는 로그를 실시간으로 확인하는 커맨드다.

 

 

반응형