리눅스 SSH 포트 변경 방법 (22번 → )

리눅스 컴퓨터에 원격 연결을 할 때 대부분 SSH를 사용합니다. SSH 기본 포트는 22번이기 때문에 별도 설정을 하지 않으면 22번 포트로 연결을 하면 됩니다. 하지만 보안상의 이유로 22번이 아닌 다른 포트 번호로 변경하는 경우가 있습니다. ssh 포트를 변경하는 방법을 알아보겠습니다.

리눅스 SSH 포트 변경

1. 방화벽 오픈

포트 변경 먼저 하고 방화벽을 열어도 문제없지만 혹시 모르니 변경할 SSH 포트 방화벽을 먼저 열어주는 걸 추천드립니다. 포트 변경 후에 방화벽을 안 열고 세션을 종료하면 이후 원격 연결이 안 됩니다.

 

SSH 포트를 2222번으로 변경한다고 가정하고 진행합니다.

[root@localhost ssh]# firewall-cmd --zone=public --permanent --add-port=2222/tcp
success
[root@localhost ssh]# firewall-cmd --reload
success

 

2. SSH 설정 파일 변경

SSH 설정 파일인 sshd_config를 수정합니다. 파일 기본 경로는 /etc/ssh 입니다.

[root@localhost ssh]# vi /etc/ssh/sshd_config

 

설정 파일을 열어서 #Port 22로 주석처리되어 있는 라인을 찾습니다. 주석(#)을 제거하고 변경을 원하는 포트로 수정하고 저장합니다.

Port 2222

 

포트 변경 전
포트 변경 전

 

포트 변경 후
포트 변경 후

 

3. SSH 재시작

ssh 서비스를 재시작해서 변경 사항을 적용합니다.

[root@localhost ssh]# systemctl restart sshd

 

3-1. SELinux 보안 에러 발생 시

SSH를 재시작했는데 SELinux 보안 관련 에러가 발생할 수 있습니다. SELinux 정책에 의해 SSH 데몬이 해당 포트에 바인딩하는 것이 제한됐기 때문입니다.

If you want to allow /usr/sbin/sshd to bind to n
Then you need to modify the port type.
Do
# semanage port -a -t PORT_TYPE -p tcp 2222
where PORT_TYPE is one of the following: ssh

 

이런 경우 포트 타입을 수정하는 아래의 명령어를 실행합니다.

[root@localhost ssh]# semanage port -a -t ssh_port_t -p tcp 2222

 

이후 다시 ssh를 재시작합니다.

[root@localhost ssh]# systemctl restart sshd

 

4. SSH 접속 확인

PuTTY를 이용해 변경한 2222번 포트로 접속하면 정상적으로 접속이 됩니다.

 

포트 2222

 

SSH 포트 여러 개 사용

SSH 포트는 여러 개를 열어두고 사용할 수도 있습니다. 예를 들어, 기본 포트인 22번과 2222번을 함께 지정해 놓으면 22번, 2222번 포트 모두에서 SSH 연결이 가능합니다.

 

포트 여러 개

반응형

댓글

Designed by JB FACTORY