모든 작업은 root 로 진행 한다.

기본 가정 : vsftpd 등이 설치 되어 있다는 가정하에 진행

1. sshd_config 파일을 열어서 Port 부분의 주석을 해제하고 원하는 포트 번호를 써주고 파일을 저장한다.

vi /etc/ssh/sshd_config

#Port 22 => Port 임의포트번호

2. 저장하고 나와서 데몬 제가동 한다.

service sshd restart

3. ssh 포트 번호를 확인하여 본다.

ss -nalt

4. 위의 명령을 치면 CentOS 에 있는 SELinux가 SSH 포트를 기본 SSH 포트인 22번으로 고정되어 있기 때문에 임의포트번호가 나오지 않을 것이다.

5. SELinux 의 SSH 포트 정의에 1022 번을 추가해야 한다.

6. semanage 명령이 필요 하다.(없으면 설치)

yum install policycoreutils-python

7. 설치가 완료 되었다면, 아래 명령으로 ssh 포트 확인

semanage port -l | grep ssh

8. 위의 명령어를 치면 ssh_port_t tcp 22 로 출력 될 것 이다. 이제 내가 원하는 포트를 추가해 보자.

9. 아래의 명령어로 포트를 추가한다.

semanage port -a -t ssh_port_t -p tcp 임의포트번호

10. ssh 데몬 재시작 하여, 다시 한번 포트를 확인해 보자.

service sshd restart

ss -nalt

11. 위의 명령어를 치면 ssh_port_t tcp 임의포트번호, 22 출력 될 것 이다.

12. 이제 방화벽에 임의포트번호 를 추가 하고 방화벽을 리스트 한다.

1) $ vi /etc/sysconfig/iptables

2) #-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT    <---사용 안할거니 주석 처리    -A INPUT -m state --state NEW -m tcp -p tcp --dport 1004 -j ACCEPT

3) save

13. 방화벽을 리스타트 하고 다시 접속해 보면 정상적으로 접속이 될 것이다.

service iptables restart