Dandy Now!
  • [Linux] SSH 포트를 22가 아닌 다른 포트로 변경
    2024년 12월 11일 18시 31분 56초에 업로드 된 글입니다.
    작성자: DandyNow
    728x90
    반응형

    1. CentOS

    1) SSH 설정 파일 수정

    sudo vi /etc/ssh/sshd_config
    
    • 파일에서 아래 내용을 찾는다.
    #Port 22
    
    • 주석(#)을 제거하고 사용할 포트 번호로 변경한다(아래 예는 2022로 변경).
    Port 2022
    

     

    2) 새 포트를 방화벽에 추가

    • 새 포트를 방화벽에 허용 한다(아래 예는 포트 2022 허용).
    sudo firewall-cmd --permanent --add-port=2022/tcp
    sudo firewall-cmd --reload
    

     

    3) SSH 데몬 재시작

    • SSH 데몬을 다시 시작하여 설정을 적용한다.
    sudo systemctl restart sshd
    

     

    4) 새 포트로 접속 테스트

    • 변경한 포트로 SSH 접속이 잘 되는지 확인한다.
    ssh -p 2022 사용자명@서버주소

     

    5) SELinux 설정 확인(접속 테스트 실패한 경우)

    • 위 4)를 진행하였는데 접속에 실패한다면 SELinux를 사용하는 경우 일 수 있다.
    • SSH 데몬이 실행되지 않는 이유를 로그에서 자세히 확인한다.
    sudo journalctl -xe
    • 위 명령어를 입력했는데 "error: bind to port 2022 on 0.0.0.0 failed: permission denied"가 발생한다면, SSH 데몬이 포트 2022에 바인딩할 권한이 없음을 의미한다.
    • 새 포트를 SELinux 정책에 추가한다.
    sudo semanage port -a -t ssh_port_t -p tcp 2022
    • 기존 포트를 수정하려면
    sudo semanage port -m -t ssh_port_t -p tcp 2022
    • semanage가 없다면 설치
    sudo yum install -y policycoreutils-python-utils

     

    5) 기본 포트 제거(선택)

    • 새 포트가 정상적으로 동작하면, 22번 포트를 방화벽에서 제거한다.
    sudo firewall-cmd --permanent --remove-port=22/tcp
    sudo firewall-cmd --reload
    

     

    728x90
    반응형
    댓글