본문 바로가기

OS/Linux

Linux - SSH 포트 변경하기 (외부 접근 보안 강화하기)

728x90

Linux에서 SSH 포트를 변경하는 방법에 대해 정리해 봅니다.

SSH(Secure Shell)는 원격으로 Linux 스템에 액세스 하기 위해 사용되는 프로토콜입니다.

기본적으로 SSH는 22번 포트를 사용하나, 보안을 강화하기 위해 포트를 변경하는 것이 좋습니다. 

※ 참고사항: 이 작업을 수행하기 전에, 반드시 root 또는 sudo 권한을 가진 사용자로 로그인해야 합니다.

또한, 포트 변경한 후에 새로운 포트로 연결할 수 있도록 방화벽 설정 등을 수정해야 합니다.

 

1. SSH 구성 파일 편집

SSH 포트를 변경하려면 먼저 SSH 구성 파일을 편집해야 합니다. 대부분의 Linux 배포판에서는 OpenSSH 서버를 사용하므로, 해당 구성 파일을 편집합니다. 텍스트 편집기로 sshd_config 파일을 엽니다.

# vi /etc/ssh/sshd_config
또는
# sudo vi /etc/ssh/sshd_config


2. 포트 변경

sshd_config 파일을 열고 다음 줄을 찾습니다.

#Port 22

주석 해제하고 포트 번호를 원하는 포트로 변경합니다. 저는 포트를 20002로 변경하여 테스트하겠습니다.

Port 20002

 

 

포트 번호를 변경한 후에는 저장하고 텍스트 편집기를 종료합니다.

 

3. SSH 서비스 재시작

변경된 포트 적용을 위해 SSH 서비스를 다시 시작합니다

# service sshd restart  = systemctl restart sshd
또는
# sudo service sshd restart  =  sudo systemctl restart sshd


4. 방화벽 구성 수정

  4.1 centos6 이하 방화벽(iptables)을 이용하는 경우

# vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 20002 -j ACCEPT  - 내용 추가
# service iptables restart


  4.2 Centos7 이상 방화벽(firewall)을 이용하는 경우

# firewall-cmd --permanent --zone=public --add-port=20002/tcp
# firewall-cmd --reload

 

5. 변경확인 및 외부 액세스

netstat 명령어를 이용해 변경된 포트를 확인해 봅니다.

# netstat -ntpl | grep ssh


SSH 클라이언트를 사용하여 변경한 포트로 연결해 봅니다.

# ssh 사용자명@서버주소 -p 새로운포트번호
# ssh root@1.1.1.1 -p 20002

 

※ 참고사항 : SSH 접속 관련 로그 경로 - /var/log/secure

728x90
반응형