상세 컨텐츠

본문 제목

[Linux] SSH port 변경하기

IT

by 조응지 2022. 3. 1. 20:25

본문

리눅스의 SSH 접속 시 포트를 변경해보려고 합니다.

 

먼저, SSH에 대해서 알아봅니다.

 

SSH란?

Secure Shell의 약자이며, 네트워크 프로토콜 중 하나로 컴퓨터와 컴퓨터가 인터넷과 같은 Public Network를 통해서 서로 통신을 할 때 보안적으로 안전하게 통신하기 위해서 사용하는 프로토콜입니다.
대표적인 사용의 예는 데이터 전송, 원격 제어가 있습니다.

기존에는 Telnet이나 FTP라는 방식을 사용했는데, 암호화를 제공하지 않기 때문에 보안상 취약하다는 단점이 있었습니다. 패킷 분석 프로그램을 이용하면 누구나 쉽게 원격 접속 과정에서 옮겨지는 비밀번호나 파일 내용의 데이터를 탈취할 수 있기 때문입니다. SSH는 모든 데이터가 암호화 되어 전송되기 때문에 안전하여 많이 사용되고 있습니다.

SSH의 통신은 Public Key와 Private Key라는 한쌍의 key를 이용하여 접속하려는 컴퓨터와 인증과정을 거칩니다.
- Public Key : 공개되어도 안전한 키. 이 키를 통해 메세지를 전송 전 암호화 한다. 이 키로는 암호화는 가능하지만 복호화는 불가능하다.
- Private Key : 절대로 외부에 노출되어서는 안되는 키. 본인 컴퓨터 내부에 저장된다. 이 private key를 통해 암호화된 정보를 복호화한다.

즉, public key를 통해 정보를 암호화하고 private key를 통해 암호화된 정보를 복호화 합니다.
이런 과정을 통해 서로 관계를 맺고 있는 key라는 것이 증명되야지만 두 컴퓨터 사이에서 암호화 된 채널이 형성되어 key를 사용하여 데이터를 주고 받을 수 있습니다.

 

그리고 포트를 변경하는 이유는 보안상의 이유입니다.

즉, 외부에서 SSH로 서버에 접속 가능한 계정 정보가 혹시 노출되더라도 기본 포트(22번)보다 변경된 포트를 사용하는 경우가 보안상 훨씬 유리하기 때문입니다.

SSH뿐만 아니라 외부 접속이 가능한 모든 포트들은 기본 포트가 아닌 다른 포트로 변경하여 사용하는 것이 좋습니다.

 

우선 ssh가 설치되어있지 않을 경우 설치를 해줍니다.

sudo apt install ssh

 

그리고 vi를 통해 ssh 설정 파일을 열어줍니다.

ssh 설정파일은 etc/ssh 경로 안에 있습니다.

sudo vi /etc/ssh/sshd_config

 

vi

중간에 port 22라고 현재 ssh 포트번호가 나와있습니다.

이제 주석을 풀고 포트 번호를 원하는 포트 번호로 변경 후 저장 해주면 됩니다.

저는 1122로 변경하였습니다.

 

변경 후 vi를 저장한 뒤 ssh를 재실행 해 줍니다.

sudo etc/init.d/ssh restart

 

변경된 설정이 잘 적용 되었는지 확인해봅니다.

sudo netstat -anp | grep LISTEN | grep sshd

 

제가 변경한 1122 포트로 잘 변경 된 것을 확인 할 수 있었습니다.

관련글 더보기