1. SSH란? Ubuntu에서 사용하는 방법
SSH (Secure Shell)는 원격으로 서버에 안전하게 연결하고 조작할 수 있게 해 주는 프로토콜입니다. Ubuntu와 같은 Linux 시스템에서는 SSH가 시스템 관리에 필수적인 명령줄 도구입니다. SSH를 사용하면 서버와의 통신이 암호화되어 제3자의 무단 접근 및 도청을 방지할 수 있습니다.
Related link: What is SSH? Official Ubuntu Documentation
2. Ubuntu에 SSH 설치하기
Ubuntu에 SSH 서버를 설치하고 설정하여 보안 연결을 사용할 수 있는 방법을 안내합니다.
- 패키지 목록 업데이트 :
sudo apt update
- OpenSSH 서버 설치 :
sudo apt install openssh-server
- 서비스 시작 및 상태 확인 :
sudo systemctl status ssh
Note: 자세한 내용은 Ubuntu의 OpenSSH 상세 문서를 참고하세요.
3. SSH 서비스 상태 확인 및 부팅 시 자동 시작 설정
SSH가 정상적으로 실행되고 있는지 확인하고, 시스템 부팅 시 자동으로 시작되도록 구성합니다.
- SSH 서비스 상태 확인 :
sudo systemctl status ssh
- 부팅 시 SSH 자동 시작 활성화 :
sudo systemctl enable ssh
4. 방화벽을 통해 SSH 허용
Ubuntu에 기본으로 포함된 UFW (Uncomplicated Firewall)를 사용해 SSH 연결을 허용합니다.
- 방화벽을 통해 SSH 허용 :
sudo ufw allow ssh
- UFW 상태 확인 :
sudo ufw status

5. Ubuntu SSH 서버에 연결하는 방법
Ubuntu SSH 서버에 원격으로 연결하는 절차를 따라 보세요.
- IP 주소 확인 :
ip a
- SSH로 연결 :
ssh username@ip_address
첫 연결 시 경고가 표시되면 “yes”를 입력하고 비밀번호를 입력하여 진행합니다.
Tip: Windows 사용자는 PuTTY와 같은 소프트웨어를 이용해 SSH 연결을 할 수 있습니다.
6. 고급 SSH 설정 (포트 변경, 루트 로그인 비활성화)
보안을 강화하기 위해 기본 SSH 설정을 수정합니다.
- 기본 포트 변경 : 기본 포트 22를 변경하면 무차별 대입 공격 위험을 줄일 수 있습니다.
sudo nano /etc/ssh/sshd_config #Port 22 → change to your preferred port number
- 루트 로그인 비활성화 : 보안을 강화하려면 루트 사용자 로그인을 차단합니다.
PermitRootLogin no
설정을 변경한 후 SSH 서비스를 재시작합니다.
sudo systemctl restart ssh
7. SSH 서버 보안 강화 (모범 사례)
SSH 서버를 더욱 안전하게 만들기 위한 모범 사례를 소개합니다.
- SSH 키 인증 사용 : 비밀번호 인증 대신 공개 키 인증을 사용하면 보안이 크게 향상됩니다. 자세한 내용은 SSH 키 생성 가이드를 참고하세요.
- 특정 사용자에만 접근 제한 :
AllowUsers지시자를 사용해 SSH 접근을 특정 계정으로 제한합니다. - Fail2Ban으로 무차별 대입 공격 방지 : Fail2Ban을 설치해 반복된 로그인 실패 시 자동으로 차단합니다.
sudo apt install fail2ban
자세한 설정 방법은 공식 Fail2Ban 구성 가이드를 확인하세요.
8. 일반적인 SSH 연결 문제 해결
연결 문제가 발생하면 다음 항목을 점검하세요.
- 방화벽 설정 오류 : UFW 또는 기타 방화벽이 올바르게 구성되어 있는지 확인합니다.
- 잘못된 IP 주소 : 서버의 IP 주소가 정확한지 다시 확인합니다.
- SSH 설정 파일 오류 :
/etc/ssh/sshd_config파일에 오류가 없는지 검토하고, 필요 시 서비스를 재시작합니다.
결론
이 가이드는 Ubuntu에 SSH를 설치하고, 구성하며, 보안을 강화하는 방법을 설명했습니다. 제시된 모범 사례를 따라 보안을 강화하고 서버를 효율적으로 관리하세요. 자세한 내용은 공식 Ubuntu SSH 설정 가이드를 참고하십시오.


