Contabo 서버 운영(1) — 서버 구성 가이드

INNOPER·2025년 3월 15일

1️⃣ 배경

웹 크롤링, 유튜브 요약 등 AI 기능을 클라우드 환경에서 구현하려고 했습니다.
하지만 AWS나 GCP의 경우, 트래픽이 많아질수록 비용이 매우 빠르게 증가하죠.

그래서 저렴하면서도 성능이 준수한 클라우드 서비스 — Contabo를 선택했습니다.
이번 포스팅에서는 Contabo VPS를 구매하고, 보안 강화를 위한 초기 서버 설정 과정을 다룹니다.


2️⃣ Contabo VPS 구매 ⚙️

Contabo 공식 사이트 👉 https://contabo.com/en/

  1. Cloud VPS 6C (6 Core) 플랜 선택
  2. 리전은 Singapore로 설정 (한국에서 지연이 가장 적음)
  3. 결제 완료 후, 잠시 기다리면 서버 접속 정보가 담긴 이메일이 도착합니다.
  4. 해당 정보로 SSH 접속을 진행합니다.

3️⃣ 새로운 일반 사용자 생성 + sudo 권한 부여 🔑

보안을 위해 root 계정으로 직접 작업하지 않는 것이 원칙입니다.
root는 모든 권한을 가지므로, 해킹 시 서버 전체가 위험해집니다.
따라서 일반 사용자를 생성하고, 필요한 권한만 부여하는 것이 안전합니다.

👤 사용자 추가

adduser ubuntu

🧩 sudo 권한 부여

usermod -aG sudo <이름>

🔐 SSH 키 생성 (macOS)

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)

📋 공개키 복사 (Mac)

cat ~/.ssh/id_rsa.pub

👥 서버에서 사용자 전환

su - <이름>

🗝️ SSH 키 등록 (Server)

mkdir -p ~/.ssh
nano ~/.ssh/authorized_keys

복사한 공개키(id_rsa.pub)를 붙여 넣습니다.


🔒 권한 설정

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

이 설정은 SSH 키 디렉토리와 키 파일의 접근 권한을 제한합니다.


4️⃣ Root 로그인 차단 + 비밀번호 로그인 비활성화 🚫

root 계정은 직접 접속을 아예 막고,
비밀번호 로그인은 완전히 비활성화하여 SSH 키로만 접속하도록 설정합니다.

🧾 SSH 설정 파일 수정

sudo nano /etc/ssh/sshd_config

아래 옵션을 찾아 수정하거나, 없다면 파일 맨 아래에 추가합니다.

PermitRootLogin no
PasswordAuthentication no

🔁 SSH 데몬 재시작

sudo systemctl restart ssh

🧱 마무리

이로써 Contabo VPS 초기 보안 설정이 완료되었습니다.

✅ 일반 사용자로만 접속
✅ SSH 키 기반 로그인
✅ Root 계정 및 비밀번호 로그인 차단

profile
FE 개발자 INNOPER 입니다

0개의 댓글