웹 크롤링, 유튜브 요약 등 AI 기능을 클라우드 환경에서 구현하려고 했습니다.
하지만 AWS나 GCP의 경우, 트래픽이 많아질수록 비용이 매우 빠르게 증가하죠.
그래서 저렴하면서도 성능이 준수한 클라우드 서비스 — Contabo를 선택했습니다.
이번 포스팅에서는 Contabo VPS를 구매하고, 보안 강화를 위한 초기 서버 설정 과정을 다룹니다.
Contabo 공식 사이트 👉 https://contabo.com/en/
보안을 위해 root 계정으로 직접 작업하지 않는 것이 원칙입니다.
root는 모든 권한을 가지므로, 해킹 시 서버 전체가 위험해집니다.
따라서 일반 사용자를 생성하고, 필요한 권한만 부여하는 것이 안전합니다.
adduser ubuntu
usermod -aG sudo <이름>
Mac 터미널에서 아래 명령으로 키 쌍을 생성합니다.
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/your_name/.ssh/id_rsa): (Enter)
Enter passphrase (empty for no passphrase): (Enter 또는 비밀번호 설정)
Enter same passphrase again: (Enter)
cat ~/.ssh/id_rsa.pub
su - <이름>
mkdir -p ~/.ssh
nano ~/.ssh/authorized_keys
복사한 공개키(id_rsa.pub)를 붙여 넣습니다.
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
이 설정은 SSH 키 디렉토리와 키 파일의 접근 권한을 제한합니다.
root 계정은 직접 접속을 아예 막고,
비밀번호 로그인은 완전히 비활성화하여 SSH 키로만 접속하도록 설정합니다.
sudo nano /etc/ssh/sshd_config
아래 옵션을 찾아 수정하거나, 없다면 파일 맨 아래에 추가합니다.
PermitRootLogin no
PasswordAuthentication no
sudo systemctl restart ssh
이로써 Contabo VPS 초기 보안 설정이 완료되었습니다.
✅ 일반 사용자로만 접속
✅ SSH 키 기반 로그인
✅ Root 계정 및 비밀번호 로그인 차단