티스토리 뷰
글을 작성하는 이유
SSH 기본 포트는 22번입니다.
그래서 해킹에 취약하므로 운영서버에는 포트를 변경하여 운영하는 것이 안전합니다.
이글로 한번 연습해보길 바랍니다.
1. 사용하는 포트 확인
sudo netstat -tnlp | grep :22 명령어로 지금 사용중인 포트를 확인해봅시다.
sudo netstat -tnlp | grep :22
# 출력
# tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1636/sshd
# tcp6 0 0 :::22 :::* LISTEN 1636/sshd
2. SSH 포트 변경
sshd_config를 수정을 할겁니다.
아래와 같은 명령어로 VI에 접속합니다.
sudo vi /etc/ssh/sshd_config
어떠한 문구가 많이 나오는데 Port 22를 찾아줍니다.
이것이 현재 사용중인 들어갈 수 있는 포트 번호입니다.
VI 명령어로 수정
- i : VI에서 입력 모드로 변경하여 자유롭게 입력합니다.
- ESC : 입력모드에서 다시 읽기모드로 빠져 나옵니다.
- :wq : 저장 후 VI를 종료 합니다. (:wq! 를 하게된다면 강제로 덮어버립니다.)
" i " 를 입력하여 입력 모드로 바꾼후 Port 22 아래다가 내가 사용하고 싶은 Port 번호를 작성합니다.
" ESC " 를 입력하여 입력 모드에서 빠져나온 후 " :wq " 를 입력하고 엔터를 눌러 VI를 빠져나옵니다.
3. SELinux 포트 사용 허용
VI에서 입력한 포트 번호를 SELinux포트 사용을 허용하게합니다.
아래와 같은 명령어로 입력해 줍니다. 저는 22022라는 포트번호를 입력해 보았습니다.
# 사용 예시
# semanage port -a -t <type> -p <protocol> <port>
sudo semanage port -a -t ssh_port_t -p tcp [내가 작성한 포트번호]
# 입력
sudo semanage port -a -t ssh_port_t -p tcp 22022
- <type> : 포트 유형 (예: http_port_t, ftp_port_t 등)
- <protocol> : 프로토콜 (tcp, udp 등)
- <port> : 허용할 포트 번호
4. 서버 재시작
서버를 재시작 합니다.
sudo systemctl restart sshd

5. 포트 사용하는지 확인
아래와 같은 명령어로 22를 포함하고 있는 포트번호를 찾습니다.
# 명령어
sudo netstat -tnlp | grep :22
# 출력
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 31069/sshd
tcp 0 0 0.0.0.0:22022 0.0.0.0:* LISTEN 31069/sshd
tcp6 0 0 :::22 :::* LISTEN 31069/sshd
tcp6 0 0 :::22022 :::* LISTEN 31069/sshd
6. 방화벽 개방
이제 방화벽에 Port를 추가할 것입니다.
# 명령어 사용 예시
sudo firewall-cmd --permanent --zone=public --add-port=포트번호/tcp
# 나의 사용
sudo firewall-cmd --permanent --zone=public --add-port=22022/tcp
- --permanent : 영구적인 변경을 적용하도록 지정하는 옵션이며 사용하면 시스템 재부팅 후에도 설정이 유지
- --zone=public : 적용할 방화벽 존을 공용(public) 으로 선택
- --add-port=[포트번호]/tcp : 방화벽에 추가할 포트와 해당 프로토콜을 지정하는 옵션
7. 방화벽 재시작
제가 원하는 포트가 방화벽 설정에 추가되고, 설정을 적용하기 위해서는 firewalld 서비스를 다시 재시작 해야 합니다.
이를 위해 아래와 같은 명령어를 입력해주세요
sudo firewall-cmd --reload
8. 설정한 포트로 접속
이제 윈도우면 Putty를 이용하던가 Mac이면 터널링을 이용하여 접속해 보시면 접속이 될겁니다. ㅎㅎ

감사합니다.
'개발환경' 카테고리의 다른 글
[개발환경] npm vs yarn vs pnpm (0) | 2024.05.05 |
---|---|
[개발환경] Spring Boot3과 Docker로 띄운 PostgreSQL16 연결하기 (0) | 2024.04.03 |
[개발환경] MacOS 도커로 PostgreSQL DB 실행하기 (0) | 2024.02.28 |
[개발환경] 윈도우11에 NginX 설치해서 Proxy Server 구성해보기 (0) | 2023.11.06 |
[개발환경] 맥북M1 (MacM1) 디비버 BDeaver 설치하기 (0) | 2023.10.24 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Spring Security
- 프론트
- JavaScript
- 개발
- 개발환경
- 템플릿
- 비동기
- aws
- 네트워크
- Mac
- 프로세스
- 디자인패턴
- 오라클
- 깃허브 액션
- 데이터 베이스
- AJAX
- java
- 개발블로그
- DBeaver
- Cors
- 자바스크립트
- git
- spring
- Front
- Fetch
- 코딩테스트
- 개발자
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함