Ubuntu에서 SSH 사용 방법: 안전한 원격 액세스, 설치 및 모범 사례

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

SSH (Secure Shell)는 원격으로 서버에 안전하게 연결하고 조작할 수 있게 해 주는 프로토콜입니다. Ubuntu와 같은 Linux 시스템에서는 SSH가 시스템 관리에 필수적인 명령줄 도구입니다. SSH를 사용하면 서버와의 통신이 암호화되어 제3자의 무단 접근 및 도청을 방지할 수 있습니다.

Related link: What is SSH? Official Ubuntu Documentation

2. Ubuntu에 SSH 설치하기

Ubuntu에 SSH 서버를 설치하고 설정하여 보안 연결을 사용할 수 있는 방법을 안내합니다.

  1. 패키지 목록 업데이트 :
    sudo apt update
    
  1. OpenSSH 서버 설치 :
    sudo apt install openssh-server
    
  1. 서비스 시작 및 상태 확인 :
    sudo systemctl status ssh
    

Note: 자세한 내용은 Ubuntu의 OpenSSH 상세 문서를 참고하세요.

3. SSH 서비스 상태 확인 및 부팅 시 자동 시작 설정

SSH가 정상적으로 실행되고 있는지 확인하고, 시스템 부팅 시 자동으로 시작되도록 구성합니다.

  1. SSH 서비스 상태 확인 :
    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 서버에 연결하는 방법

Ubuntu SSH 서버에 원격으로 연결하는 절차를 따라 보세요.

  1. IP 주소 확인 :
    ip a
    
  1. SSH로 연결 :
    ssh username@ip_address
    

첫 연결 시 경고가 표시되면 “yes”를 입력하고 비밀번호를 입력하여 진행합니다.

Tip: Windows 사용자는 PuTTY와 같은 소프트웨어를 이용해 SSH 연결을 할 수 있습니다.

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

보안을 강화하기 위해 기본 SSH 설정을 수정합니다.

  1. 기본 포트 변경 : 기본 포트 22를 변경하면 무차별 대입 공격 위험을 줄일 수 있습니다.
    sudo nano /etc/ssh/sshd_config
    #Port 22 → change to your preferred port number
    
  1. 루트 로그인 비활성화 : 보안을 강화하려면 루트 사용자 로그인을 차단합니다.
    PermitRootLogin no
    

설정을 변경한 후 SSH 서비스를 재시작합니다.

sudo systemctl restart ssh

7. SSH 서버 보안 강화 (모범 사례)

SSH 서버를 더욱 안전하게 만들기 위한 모범 사례를 소개합니다.

  1. SSH 키 인증 사용 : 비밀번호 인증 대신 공개 키 인증을 사용하면 보안이 크게 향상됩니다. 자세한 내용은 SSH 키 생성 가이드를 참고하세요.
  2. 특정 사용자에만 접근 제한 : AllowUsers 지시자를 사용해 SSH 접근을 특정 계정으로 제한합니다.
  3. Fail2Ban으로 무차별 대입 공격 방지 : Fail2Ban을 설치해 반복된 로그인 실패 시 자동으로 차단합니다.
    sudo apt install fail2ban
    

자세한 설정 방법은 공식 Fail2Ban 구성 가이드를 확인하세요.

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

연결 문제가 발생하면 다음 항목을 점검하세요.

  • 방화벽 설정 오류 : UFW 또는 기타 방화벽이 올바르게 구성되어 있는지 확인합니다.
  • 잘못된 IP 주소 : 서버의 IP 주소가 정확한지 다시 확인합니다.
  • SSH 설정 파일 오류 : /etc/ssh/sshd_config 파일에 오류가 없는지 검토하고, 필요 시 서비스를 재시작합니다.

결론

이 가이드는 Ubuntu에 SSH를 설치하고, 구성하며, 보안을 강화하는 방법을 설명했습니다. 제시된 모범 사례를 따라 보안을 강화하고 서버를 효율적으로 관리하세요. 자세한 내용은 공식 Ubuntu SSH 설정 가이드를 참고하십시오.