Categories: IT

SSH 접속 보안 설정 방법 (서버 안전하게 운영하는 기본 가이드)

SSH 접속 보안 설정 방법 (서버 안전하게 운영하는 기본 가이드)

SSH 접속이란 무엇인가

SSH(Secure Shell)는 원격으로 서버(Server)에 접속하여 명령어를 실행하고 관리할 수 있는 통신 방식입니다.
서버를 운영할 때 가장 기본이 되는 접속 방법이며, 대부분의 리눅스 서버에서 사용됩니다.

하지만 SSH는 외부에서 접근 가능한 통로이기 때문에 보안 설정이 제대로 되어 있지 않으면 해킹의 주요 대상이 됩니다.
따라서 SSH 접속 보안 설정은 서버(Server) 운영에서 반드시 필요한 작업입니다.


왜 SSH 보안 설정이 중요한가

SSH는 서버(Server)에 직접 접근할 수 있는 통로이기 때문에 공격자들이 가장 먼저 시도하는 대상입니다.

주요 위험 요소

  • 무차별 대입 공격 (Brute Force)
  • 비밀번호 탈취
  • root 계정 공격
  • 자동화된 해킹 시도

기본 설정 그대로 사용할 경우 공격에 쉽게 노출될 수 있습니다.


SSH 보안 설정 전체 흐름

SSH 보안은 여러 가지 설정을 조합하여 강화합니다.

  1. 기본 포트 변경
  2. root 로그인 차단
  3. 비밀번호 인증 제한
  4. SSH 키 인증 사용
  5. 접근 IP 제한

이 다섯 가지를 적용하면 서버(Server) 보안 수준이 크게 향상됩니다.


1. SSH 포트 변경

기본 SSH 포트는 22번입니다.
이 포트를 변경하면 자동화된 공격을 줄일 수 있습니다.

설정 방법

sudo nano /etc/ssh/sshd_config

다음 항목 수정

Port 2222

설정 후 SSH 재시작

sudo systemctl restart ssh

2. root 로그인 차단

root 계정은 모든 권한을 가지고 있기 때문에 공격 대상이 됩니다.

설정 방법

sudo nano /etc/ssh/sshd_config
PermitRootLogin no

이후 일반 사용자 계정으로 접속 후 sudo를 사용하는 것이 안전합니다.


3. 비밀번호 인증 비활성화

비밀번호 방식은 해킹 시도가 많기 때문에 가능하면 비활성화하는 것이 좋습니다.

설정 방법

PasswordAuthentication no

이 설정을 적용하면 SSH 키 인증만 사용 가능합니다.


4. SSH 키 인증 사용

SSH 키 인증은 비밀번호보다 훨씬 안전한 방식입니다.

키 생성 (클라이언트)

ssh-keygen

서버에 키 등록

ssh-copy-id 사용자이름@서버IP

이후 비밀번호 없이 안전하게 접속할 수 있습니다.


5. 특정 IP만 접속 허용

특정 IP에서만 SSH 접속을 허용하면 보안이 크게 강화됩니다.

설정 방법

sudo nano /etc/hosts.allow
sshd: 192.168.0.10

또는 방화벽을 통해 설정할 수도 있습니다.


추가 보안 설정 방법

기본 설정 외에도 추가로 적용하면 좋은 방법입니다.


Fail2Ban 설정

로그인 실패가 반복되면 해당 IP를 자동 차단합니다.

sudo apt install fail2ban

로그인 시도 횟수 제한

MaxAuthTries 3

로그인 실패 횟수를 제한하여 공격을 방지합니다.


접속 시간 제한

LoginGraceTime 30

접속 시도 시간을 제한하여 공격을 줄일 수 있습니다.


SSH 보안 설정 적용 후 확인

설정을 변경한 후에는 반드시 정상 작동 여부를 확인해야 합니다.

확인 방법

  • 새로운 터미널에서 접속 테스트
  • 기존 세션 유지 상태에서 테스트

잘못 설정하면 접속이 불가능해질 수 있으므로 주의가 필요합니다.


초보자가 자주 하는 실수

설정 변경 후 바로 연결 종료

새로운 설정이 적용되지 않은 상태에서 접속이 끊길 수 있습니다.

키 인증 설정 없이 비밀번호 비활성화

접속 자체가 불가능해질 수 있습니다.

포트 변경 후 방화벽 미설정

새 포트를 허용하지 않으면 접속이 차단됩니다.


서버(Server) SSH 보안 체크리스트

  • SSH 포트 변경
  • root 로그인 차단
  • 비밀번호 인증 비활성화
  • SSH 키 인증 적용
  • 접근 IP 제한

이 항목들을 모두 적용하면 기본적인 보안은 확보됩니다.


쉽게 이해하는 비유

SSH 보안을 집에 비유하면 다음과 같습니다.

  • 포트 변경: 숨겨진 출입구
  • 비밀번호: 도어락
  • SSH 키: 열쇠
  • IP 제한: 출입 허가 명단

출입 통제를 강화할수록 서버(Server)는 안전해집니다.


SSH 접속 보안 핵심 요약

  • SSH는 서버(Server) 접속의 핵심 통로이다
  • 기본 설정은 공격에 취약하다
  • 포트 변경과 root 차단이 기본이다
  • SSH 키 인증이 가장 안전하다
  • 접근 제한을 통해 보안을 강화할 수 있다

마무리

SSH 접속 보안 설정 방법은 서버(Server)를 안전하게 운영하기 위한 필수 과정입니다.
특히 외부에 공개된 서버라면 반드시 적용해야 합니다.

초보자라면 모든 설정을 한 번에 적용하기보다
하나씩 적용하고 테스트하는 방식으로 진행하는 것이 가장 안전합니다.
이 과정을 통해 안정적인 서버 운영 환경을 구축할 수 있습니다.

fghqwe123

Recent Posts

리눅스 명령어 실수로 서버 망친 사례 (복구 과정까지 정리)

리눅스 명령어 실수로 서버 망친 사례 (복구 과정까지 정리) 왜 리눅스 명령어 실수가 위험한가 리눅스…

1개월 ago

서버 구축 후 반드시 해야 할 보안 설정 7가지 (초보자 실수 방지 가이드)

서버 구축 후 반드시 해야 할 보안 설정 7가지 (초보자 실수 방지 가이드) 서버 구축…

1개월 ago

무료 클라우드 서버 후기 (실사용 기준 장단점 정리)

무료 클라우드 서버 후기 (실사용 기준 장단점 정리) 무료 클라우드 서버를 실제로 써본 이유 서버(Server)를…

1개월 ago

AWS 서버 처음 만들고 막힌 부분 정리 (초보자가 실제로 겪는 문제들)

AWS 서버 처음 만들고 막힌 부분 정리 (초보자가 실제로 겪는 문제들) AWS 서버를 처음 만들…

1개월 ago

방화벽 때문에 서버 접속 안될 때 해결 방법 (실제 차단 사례 분석)

방화벽 때문에 서버 접속 안될 때 해결 방법 (실제 차단 사례 분석) 방화벽 때문에 서버…

1개월 ago

서버 ping은 되는데 웹 접속 안될 때 해결 방법 (실제 원인 6가지)

서버 ping은 되는데 웹 접속 안될 때 해결 방법 (실제 원인 6가지) ping은 되는데 웹…

1개월 ago