⚠️ 이 포스팅은 CentOS 7을 기준으로 작성되었습니다.
또한 해당 명령어들은 모두 root를 기준으로 작성되어있으며,
sudo 유저로 진행되는 경우 root 권한이 필요할 때 sudo를 명령어 앞에 붙이며 진행하면 됩니다.

 

SSH의 기본포트를 변경하고 SELinux 이용시 또는 이용하지 않을 시 설정하는 방법은 다음과 같다.

 


 

1. SSH 포트 변경
SSH 설정 파일을 열어서 포트를 변경한다. 

텍스트 에디터로 /etc/ssh/sshd_config 파일을 열기(다음의 방법은 vi를 기준으로 작성)

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


Port 항목을 찾아서 주석 처리(#)를 해제하고 원하는 포트로 변경
(예를 들어, 포트를 1234로 변경하려면 다음과 같이 설정)

Port 1234




2. 방화벽 설정(CentOS 7 기준)
방화벽 설정을 업데이트하여 새로운 SSH 포트를 허용
다음 명령어를 사용하여 방화벽에 새로운 포트를 추가한다.

[root@localhost ~] # firewall-cmd --permanent --add-port=1122/tcp


방화벽 설정을 적용한다.

[root@localhost ~] # firewall-cmd --reload




3. SSH 서비스 재시작
SSH 설정을 변경했으므로 SSH 서비스를 시작하거나 재시작한다.
이미 실행 중인 경우 다시 시작하고, 새로 설정한 포트를 사용하도록 한다.

[root@localhost ~] # systemctl start sshd
[root@localhost ~] # systemctl restart sshd


다음의 명령어를 통해 SSH를 확인할 수 있다.

[root@localhost ~] # systemctl status sshd




4-1. SELinux 설정 (선택 사항, SELinux를 사용하는 경우)
만약 SELinux를 사용하는 경우, SELinux가 관리하는 포트에 SSH 포트를 등록한다.

 

다음 명령어를 사용하여 SSH 포트를 SELinux에 등록

[root@localhost ~] # semanage port -a -t ssh_port_t -p tcp 1122


등록된 포트를 확인

[root@localhost ~] # semanage port -l | grep ssh_port_t

 



4-2. SELinux 상태 변경 (선택 사항, SELinux를 사용하지 않는 경우)
만약 SELinux를 사용하지 않는다면 다음과 같이 적용한다.


SELinux 상태를 permissive로 변경

[root@localhost ~] # setenforce 0

permissive 상태 : SELinux의 정책에 어긋나는 동작은 감사 로그를 남기고 허용

 

 

 

🤔 SELinux를 완전히 비활성화하려면?

SELinux를 완전히 비활성화하려면

[root@localhost ~] # vi /etc/sysconfig/selinux


파일을 편집하고 SELINUX=disabled로 설정.

SELINUX=disabled



+ Recent posts