인터넷 서핑을 하던 중 원격 프로토콜(ssh)로 중국에서 많이 들렸다가 간다고 하길래. 보안상 나쁠 것 없으니 변경을 하기로 하였다. 변경 방법은 쉽다.

물론 이를 변경 할 때. 기본적인 vi의 사용법은 알아야 한다.


* 주의 사항
해당 패키지는 CentOS 6.8을 가지고 하고 있습니다.
일부 명령어가 다를 수도 있습니다. 그 경우에는 유사한 명령어를 찾으시거나 혹은 설치해주시기 바랍니다. 이에 대해서는 다루지 않습니다.

CentOS 특성상 selinux라는 보안프로그램이 동작하고 있습니다.
지정된 기본 포트가 아니라 다른 포트로 변경 되었을 시. 그 변경된 포트에 대한 권한을 selinux에서 설정을 해주거나 조치를 취하여야 합니다.

저는 그냥 selinux를 비활성화 시키고 하였습니다.
비활성화하는 명령어는 다음과 같습니다.

#setenforce 0





/etc/ssh/sshd_config를 vi 또는 vim으로 연다.

# vim /etc/ssh/sshd_config


위 사진의 13번줄의 Port부분에 주석처리된 #을 지우고 22를 원하는 포트 번호로 바꾸면 된다.


이렇게 변경을 하였다면 이제 이 포트 번호를 열어줘야한다.
방화벽 설정을 열어보자

# vim /etc/sysconfig/iptables

연 다음


다음과 같이 방화벽 설정 파일이 있을 텐데. 여기서 22는 기존에 ssh를 위해서 열려있는 포트이다.
이를 변경한 포트로 바꿔주면 된다.


그 다음 sshd와 iptables를 재 시작 해주자.

# service sshd restart
sshd 를 정지 중:                                           [  OK  ]
sshd (을)를 시작 중:                                       [  OK  ]
# service iptables restart
iptables: 체인을 ACCEPT 규칙으로 설정 중:  filter          [  OK  ]
iptables: 방화벽 규칙을 지웁니다:                          [  OK  ]
iptables: 모듈을 언로드하는 중:                            [  OK  ]
iptables: 방화벽 규칙 적용 중:                             [  OK  ]

정상적으로 재 시작 되었다면 끝.

(혹시 재 시작 시 sshd의 재시작에서 오류가 발생하는 경우 이 글의 맨 위 주의사항을 참고해주십시오.)


포트 변경하고 나서 저같은 경우에는 공유기를 사용하고 있어서 포트포워딩도 해주고 각종 로컬에 있는 git들 다시 원격 주소 다시 적어주느라 귀찮았긴 하네요.

그래도 포트번호를 변경해서 어느정도 보안성을 올렸다는 것에 의의를 두겠습니다 어짜피 왠만하면 보안성과 편리함은 반비례라고들 하니까요.