EC2 RHEL 환경에서 SSH 접속 포트 변경해 보기

EC2 RHEL 환경에서 SSH 접속 포트를 변경해 보는 방법에 대해서 정리해 봤습니다.
2023.07.25

안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 EC2 RHEL 환경에서 SSH 접속 포트를 변경해 보는 방법에 대해서 정리해 봤습니다.

준비물

먼저 SSH 접속을 변경할 EC2 인스턴스를 생성합니다.

테스트를 위해 생성한 EC2 인스턴스는 RHEL 8.5 버전입니다.

먼저 대상 EC2 인스턴스에 접속한 다음, SSH 접속 포트를 변경해야 하기 때문에, 보안 그룹에서 22번 포트를 지정해서 접속할 수 있도록 설정합니다.

SSH 접속 포트 변경

vi /etc/ssh/sshd_config

명령어로 sshd_config 으로 들어온 다음, 변경할 포트를 입력합니다.

service sshd restart

Redirecting to /bin/systemctl restart sshd.service
Job for sshd.service failed because the control process exited with error code.
See "systemctl status sshd.service" and "journalctl -xe" for details.

이후 sshd 데몬을 재시작해 보면, 에러가 발생하는데, 보안 강화로 설치된 리눅스 환경에서는 포트만 변경해서는 데몬 에러가 발생합니다.

※ 반대로 여기서 성공한다면 그걸로 OK입니다.

yum whatprovides semanage
yum install policycoreutils-python-utils-2.9-24.el8.noarch

whatprovides semanage 명령어로 버전을 확인한 다음, 인스톨을 합니다.

semanage port -l | grep ssh

semanage port -l | grep ssh 명령어로 확인해 보면, 현재 22번 포트만 설정되어 있는 것을 확인할 수 있습니다.

semanage port -a -t ssh_port_t -p tcp 1030
semanage port -a -t ssh_port_t -p tcp 1035
semanage port -l | grep ssh

semanage port -l | grep ssh로 확인해 보면 1035, 1030 포트가 설정된 것을 확인할 수 있습니다.

service sshd restart
systemctl status sshd

재시작하고 상태를 확인해 보면, 1035, 1030 포트가 출력되는 것을 확인할 수 있습니다.

이어서 보안 그룹에서도 1030, 1035 포트를 지정합니다.

  • ssh -i "ec2-key.pem" ec2-user@ec2-13-231-41-220.ap-northeast-1.compute.amazonaws.com -p 1030
  • ssh -i "ec2-key.pem" ec2-user@ec2-13-231-41-220.ap-northeast-1.compute.amazonaws.com -p 1035

ssh 접속 명령어 끝에 -p로 포트를 지정한 다음 접속하면 성공적으로 EC2에 접속된 것을 확인할 수 있습니다.

본 블로그 게시글을 읽고 궁금한 사항이 있으신 분들은 kis2702@naver.com로 보내주시면 감사하겠습니다.