Ubuntu에서 SSH 설정 및 보안 강화 방법 | 초보자부터 중급자까지 완전 가이드

Ubuntu에서 SSH 설정 및 보안 강화 가이드

1. SSH란? Ubuntu에서의 사용 방법

SSH(Secure Shell)는 원격으로 안전하게 서버에 연결하고 작업을 수행하기 위한 프로토콜입니다. 특히 Ubuntu와 같은 Linux 시스템에서는 명령줄 기반 관리 도구로서 매우 중요합니다. SSH를 사용하면 서버와의 통신이 암호화되어 제3자의 불법 접근 및 도청을할 수 있습니다. 관련 링크: SSH란? 공식 Ubuntu 문서

2. Ubuntu에 SSH를 설치하는 방법

SSH를 이용하기 위해, Ubuntu에서 SSH 서버 설치 절차를 소개합니다.
  1. 패키지 리스트 업데이트
   sudo apt update
  1. OpenSSH 서버 설치
   sudo apt install openssh-server
  1. 서비스 시작 및 상태 확인
   sudo systemctl status ssh
보충: Ubuntu의 공식 페이지에도OpenSSH 상세 정보가 있습니다.

3. SSH 서비스 상태 확인 및 시스템 시작 시 활성화

SSH가 올바르게 작동하는지 확인하고, 시스템 시작 시에도 자동으로 시작되도록 설정합니다.
  1. 서비스 상태 확인
   sudo systemctl status ssh
  1. 시작 시 SSH를 자동으로 시작하도록 설정
   sudo systemctl enable ssh

4. 방화벽 설정에서 SSH를 허용하는 방법

Ubuntu에 기본으로 탑재된 UFW(Uncomplicated Firewall)를 사용하여 SSH 접근을 허용합니다。
  1. SSH 연결을 방화벽에서 허용
   sudo ufw allow ssh
  1. UFW 상태 확인
   sudo ufw status

5. Ubuntu SSH 서버에 연결하는 방법

원격에서 SSH 연결하려면, 아래 단계에 따라 주세요.
  1. IP 주소 확인
   ip a
  1. SSH로 연결
   ssh username@ip_address
첫 연결 시 경고가 표시되는 경우, “yes”를 입력하고 비밀번호를 입력하여 진행합니다. : Windows 사용자의 경우, PuTTY라는 소프트웨어를 사용하여 SSH에 연결할 수 있습니다.

6. SSH의 고급 설정(포트 변경, 루트 로그인 비활성화)

SSH의 기본 설정을 변경하여 보안을 향상시킵니다.
  1. 기본 포트 변경: SSH의 기본 포트 22를 변경함으로써, 무차별 대입 공격 위험을 줄일 수 있습니다.
   sudo nano /etc/ssh/sshd_config
   #Port 22 → 원하는 번호로 변경
  1. 루트 로그인 비활성화: 보안을 강화하기 위해, 루트 사용자의 로그인을 비활성화합니다.
   PermitRootLogin no
변경 후, SSH 서비스를 재시작합니다.
sudo systemctl restart ssh

7. SSH 서버 보안 강화(베스트 프랙티스)

SSH 보안을 강화하기 위한 베스트 프랙티스를 소개합니다。
  1. SSH 키 인증 사용: 패스워드 인증 대신에 공개키 인증을 이용함으로써 보안이 강화됩니다。 SSH 키 생성 방법 가이드를 참고하여, 키 페어를 설정합시다。
  2. 특정 사용자에만 접근 제한: 특정 사용자만 SSH에 접근할 수 있도록 하기 위해 AllowUsers 디렉티브를 사용합니다。
  3. Fail2Ban으로 무차별 대입 공격 방지: 여러 번 로그인 실패를 자동으로하는 Fail2Ban을 설치합니다。
   sudo apt install fail2ban
설정은 공식 문서Fail2Ban 설정 방법을 참고하십시오。

8. SSH 연결에 대한 일반적인 문제 해결

SSH 연결에 문제가 발생한 경우, 아래 체크리스트를 참고하여 해결하십시오.
  • 방화벽 설정 오류:UFW 및 기타 방화벽이 올바르게 설정되어 있는지 확인합니다.
  • IP 주소 확인:IP 주소가 올바른지 다시 확인합니다.
  • SSH 설정 파일 오류/etc/ssh/sshd_config에 오류가 없는지 확인하고, 필요에 따라 재시작합니다.

요약

이 가이드에서는 Ubuntu에 SSH를 설치하고 안전하게 설정하는 방법을 소개했습니다. 보안 강화를 위한 모범 사례를 실천하고, 안전하고 효율적인 서버 관리를 수행합시다. 자세한 내용은 공식 Ubuntu SSH 설정 가이드에서 확인할 수 있습니다.
侍エンジニア塾