⚠️ 이 포스팅은 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
'Linux' 카테고리의 다른 글
| [CentOS] CentOS(Linux) 한글 깨짐 현상 (0) | 2025.06.10 |
|---|---|
| [CentOS][Tomcat] CentOS 7에서 Tomcat 서비스를 등록하여 서버 재부팅 시 자동 구동 설정하기 (2) | 2025.06.05 |
| 인터넷을 사용할 수 없는 CentOS(Linux) 서버(off-line)에 패키지(프로그램) 설치 (0) | 2025.06.04 |
| .sh: line 5: $'\\r': command not found (0) | 2025.06.03 |
| [CentOS] CentOS 7 리눅스 환경에서 한글 입력기 추가 (GUI 기준) (0) | 2025.06.03 |