0과 1을 공부하다.

[Linux] SSH(Secure Shell) 포트변경 본문

Study/Linux

[Linux] SSH(Secure Shell) 포트변경

Developer_Jay 2022. 5. 27. 11:37
728x90

SSH(Secure Shell)는 원격지 호스트 컴퓨터에 접속하기 위해 사용되는 인터넷 프로토콜이다. 기본 포트는 22번 포트이지만 보안성과 동일 네트워크에서 다른 서버와의 충돌을 막기 위해 SSH의 포트를 변경하여 사용할 수 있다.

본 게시글에서는 ssh의 설치부터 설정에 대해 알아본다. (본 게시물은 Debian 계열의 Raspbian운영체제를 기준으로 작성하였음.) 

 

 

  • SSH 설치
$ sudo apt install openssh-server

 

  • SSH 상태 확인
$ systemctl status ssh

 

  • SSH 시작
$ systemctl start ssh

 

  • SSH 종료
$ systemctl stop ssh

 

  • SSH 재시작
$ systemctl restart ssh

(systemctl 명령어는 service명령어로 대체 가능하다. ex. $service ssh start)

 

 

  • SSH 포트변경

$vi /etc/ssh/sshd_config 파일에서 #Port 22가 주석처리 되어 있는데 주석을 해제하고 원하는 포트번호로 변경한다. 

#port 22 // 변경 전
#port 2022 // 변경 후

 

  • 서비스 변경

$vi /etc/services에서 ssh 부분의 포트를 변경한다.

SSH 22 // 변경 전
SSH 2022 // 변경 후

 

  • 적용

시스템을 재부팅 하거나 ssh를 재시작 한다.

$ systemctl restart ssh

 

  • 추가 고려사항

재부팅 이후에는 반드시 본인이 사용하고 있는 공유기 환경설정에서 설정한 포트에 대한 포트포워딩을 실시해야 하고, SELinux가 활성화 되어 있다면 적절한 컨텍스트 변경과 방화벽 정책 변경을 수행해야 정상적으로 작동한다. 

더보기

1. 공유기 환경설정 포트포워딩

2. SELinux 컨텍스트 변경

3. 방화벽(Firewall) 정책 변경

 

 

 


+ 추가 내용 (해당하지 않으면 설정하지 않아도 된다.)

 

  • root 계정 접근 허용

라즈베리파이 기준으로 일반사용자(pi)에서 $sudo passwd root 통해 root 계정의 패스워드는 설정한다.

$vi /etc/ssh/sshd_config 파일에서 #PermitRootLogin prohibit-password 주석처리 되어 있는 부분을 해제하고 PermitRootLogin yes 로 변경한다. 

#PermitRootLogin prohibit-password // 변경 전
PermitRootLogin yes // 변경 후

 

  • ssh 자동실행 설정

$ service ssh status 명령어를 통해 active 부분이 inactive (dead)일 경우 자동 부팅을 해제 및 설정한다.

$ update-rc.d ssh remove // 자동부팅 설정 해제

$ update-rc.d ssh defaults // 자동부팅 설정

 

위에 내용이 적용되지 않는다면 rc.local(부팅시 자동실행 스크립트 수행) 파일을 수정한다. 

$ vi /etc/rc.local

/bin/sh -e /etc/init.d/ssh start // exit 0 윗 부분에 적용

재부팅 이후 상태가 active 상태인지 확인

 

 

참고 사이트

 

 

 

 

※ 본 게시글의 정보가 잘못 되었거나 부족한 부분에 대한 피드백을 환영합니다.

 

 

* CopyRight 2022. Jay Park All rights reserved.

728x90
Comments