본문 바로가기

리눅스

라즈베리파이 ssh 접속 포트 변경하기 (보안 강화)

라즈베리파이 ssh 포트를 기본인 22로 두고 포트포워딩 까지 해 두셨다면 아마 어마어마한 공격을 받으신 로그를 보실 수 있을 겁니다.

 

굉장히 위험합니다.

 

따라서 포트포워딩으로 외부 인터넷까지 빼놓으셨다면 반드시 ssh 포트를 변경해 주셔야 합니다.

(그 외 모든 서비스를 위한 포트는 다 바꿔 주시는게 좋습니다. 80, 443 등 알려진 포트는 모두 10000번대 이후의 알려지지 않은 포트로 바꿔 서비스 하는게...)

 

 

사실 ssh 포트를 바꾸는 방법은 두 가지가 있습니다.

 

1. 라즈베리파이 서버 OS 상에서 ssh 포트를 바꿈

2. 라즈베리파이 서버 OS 포트는 그대로 두고 집 공유기에서 포트포워딩 설정을 해 줄 때 22 포트를 19000포트 와 같은 임의의 포트로 포워딩을 시켜줌

 

 

2번의 경우는,

(공유기는 제조사마다 화면이 다르므로 간략히 설명만 하겠습니다)

 

공유기 설정에서 포트포워딩 설정 탭에서 라즈베리파이 서버의 내부 IP를 입력하고 내부 포트는 22로 지정, 외부 포트는 원하는 임의의 포트 번호(예를 들면 19000)로 입력 하고 설정을 해주면 간단히 할 수 있습니다.

 

이렇게 하면 외부 인터넷에서 내 IP 또는 도메인 주소에 포트 19000 으로 ssh 접속을 시도하면 공유기에서 포트포워딩이 되어 22로 포워딩 되어 연결이 됩니다.

 

 

이 방법도 있지만 오늘 소개할 방법은 1번 항목인 OS상에서 Listening 하는 포트를 아예 바꾸는 방법 입니다.

(이 방법이 나중에 내가 몇번 포트로 했었더라 헷갈릴 일이 없고 바로 OS에서 볼 수 있기 때문에 좋다고 생각합니다)

 

 

1번 설명 시작 하겠습니다.

 

vi /etc/ssh/sshd_config

vi 편집기로 위 sshd_config 파일을 열어 줍니다. (root 계정으로 하셔야 합니다)

 

상단부분에 Port 22 라고 되어있는 부분에서 22를 원하는 포트번호로 바꿔 줍니다.

 

그리고 저장하고 빠져 나옵니다.

 

 

이제,

vi /etc/services

위 명령어로 services 파일을 열어 줍니다.

 

 

ssh 부분에 22/tcp 를 아까 정한 포트와 동일한 포트로 숫자만 바꿔치기 해 줍니다.

 

그리고 저장하고 빠져 나옵니다.

 

 

그리고 서버 재부팅이 필요 합니다.

reboot

 

재부팅이 되었다면 putty 와 같은 ssh 접속 툴을 사용하여 변경한 포트로 접속을 시도해 봅시다!

 

접속이 되면 성공!

 

 

끝.