라즈베리파이 SSH 포트 변경 방법

라즈베리파이 SSH 포트 변경 방법

라즈베리파이 SSH 포트 변경 방법에 대해 설명하는 페이지입니다.

Environment

  • OS: Raspberry Pi OS (64 bit)

목차

SSH 포트 변경 이유

라즈베리파이에 원격 접속할 때 대부분 SSH를 사용합니다. SSH는 22번 포트를 기본 포트로 사용하기 때문에, 포트 변경없이 사용하면 해커들의 표적이 됩니다. 따라서 보안상의 이유로 SSH뿐만 아니라 외부 접속이 가능한 모든 포트들은 기본 포트가 아니라 다른 포트로 변경하여 사용하는 것이 좋습니다. 이번 글에서는 라즈베리파이 SSH 포트 변경 방법에 대해 설명하겠습니다.

Step 1 - sshd_config 파일

sshd_config 파일 열기

라즈베리파이 SSH 포트를 변경하기 위해선 두 개의 파일을 수정해야 합니다. 먼저 다음 명령어를 입력하여 sshd_config 파일을 엽니다.

sudo nano /etc/ssh/sshd_config

위의 명령어를 입력하면 다음과 같은 화면이 표시될 것입니다.

ssh-port1

포트 번호 변경

파일 내 주석 처리되어 있는 #Port 22 부분을 주석 처리를 해제하고 원하는 포트 번호로 변경합니다. 포트 번호는 0 ~ 65335번까지 존재하는데, 이 중에서 0번 ~ 1023번잘 알려진 포트(well-known port)로 주요 통신을 위한 규약에 따라 이미 정해져 있는 포트 번호로 사용할 수 없습니다. 또한 기업에서 등록하여 사용하고 있는 포트 번호도 사용할 수 없습니다. 자세한 내용은 다음 링크를 참고하시길 바랍니다.
TCP/UDP의 포트 목록

ssh-port2

Ctrl + X를 누른 다음 Y 그리고 Enter를 눌러 변경사항을 저장합니다.

Step 2 - services 파일

Services 파일 열기

services 파일에는 리눅스에서 네트워크 서비스를 위해 사용하는 모든 포트에 대한 정의가 저장되어 있습니다. services 파일을 수정하기 위해 다음 명령어를 입력합니다.

sudo nano /etc/services

ssh-port3

Services 파일 수정

ssh 부분의 22/tcp를 위에서 선언한 포트 번호로 변경합니다.

ssh-port4

Ctrl + X를 누른 다음 Y 그리고 Enter를 눌러 변경사항을 저장합니다.

Step 3 - 포트 접속 허용

SSH 포트 변경을 완료하려면 라즈베리파이를 재부팅해야 합니다. 하지만 만약 방화벽을 사용하고 있다면 변경된 포트 번호에 대한 접속이 차단되므로 라즈베리파이에 원격 접속을 할 수 없습니다. 이를 위해 먼저 변경된 SSH 포트에 대한 접속을 허용해야 합니다.

UFW 상태 확인

다음 명령어를 입력하여 UFW 상태를 확인합니다.

ssh-port5

변경된 SSH 포트 접속 허용

다음 명령어를 입력하여 변경된 SSH 포트 접속을 허용합니다.

sudo ufw allow ssh

ssh-port6

변경된 포트 번호에 대한 접속이 허용되었음을 확인할 수 있습니다.

Step 4 - SSH 포트 변경 마무리

재부팅

다음 명령어를 입력하여 라즈베리파이를 재부팅합니다.

sudo reboot

PuTTY로 원격 접속

ssh-port7

PuTTY로 원격 접속을 시도합니다. 이 때 22번 포트로 접속하려고 하면 접근이 차단될 것이고, 변경된 SSH 포트로 접근하려고 하면 접속이 허용될 것입니다.

22번 포트에 대한 접근 차단

SSH 포트를 변경하였으므로 더 이상 22번 포트에 대한 접근이 이루어지지 않습니다. 방화벽 설정을 통해 22번 포트에 대한 접근을 차단합니다. 이에 대해선 다음 글을 참고하시길 바랍니다.
라즈베리파이 방화벽 설정 방법




Comments