
"서버 한 대 빌려서 직접 돌려보면 어때?"라는 생각, 한 번쯤 해보신 적 있으신가요? 저도 그 충동을 못 이기고 주말에 VPS를 하나 질렀습니다. SSH 키 설정부터 SSL 인증서 발급까지, 첫 세팅은 생각보다 훨씬 많은 것을 가르쳐줬습니다. 단순히 명령어 따라 치는 것 그 이상이었습니다.
초기 보안 설정, 어디서 막히는지 아시나요?
VPS(Virtual Private Server), 즉 가상 사설 서버를 처음 받으면 root 계정으로 비밀번호 로그인이 허용된 상태입니다. 쉽게 말해 문을 활짝 열어둔 채로 집을 받는 것과 같습니다. 그래서 가장 먼저 해야 할 일이 SSH 키 기반 인증 설정인데, 여기서 많은 분들이 저처럼 한 번은 막힙니다.
SSH 키 기반 인증(SSH Key Authentication)이란, 비밀번호 대신 한 쌍의 암호화 키(공개 키·개인 키)를 이용해 서버 접속을 검증하는 방식입니다. 비밀번호는 탈취될 수 있지만, 개인 키는 내 컴퓨터 밖으로 나가지 않으니 훨씬 안전합니다. 제가 직접 써봤는데, 설정 자체는 어렵지 않았습니다. 문제는 공개 키를 서버에 올린 뒤 비밀번호 로그인을 차단하고 재접속을 시도했을 때였습니다. 키 경로를 잘못 지정한 탓에 서버에서 완전히 튕겨 나왔고, 한동안 접속이 아예 안 됐습니다. 다행히 VPS 제공업체의 웹 콘솔(Web Console) 기능으로 긴급 복구가 가능했습니다. 웹 콘솔이란 SSH 없이 브라우저에서 직접 서버 터미널에 접근하는 비상 수단입니다. 이 기능이 없었다면 서버를 통째로 재설치해야 했을 것입니다.
SSH 키 설정 이후에는 방화벽(ufw) 구성과 일반 사용자 계정 생성, 그리고 root 직접 로그인 차단이 이어집니다. ufw(Uncomplicated Firewall)는 리눅스에서 방화벽 규칙을 쉽게 관리할 수 있게 해주는 도구로, SSH 포트와 웹 포트만 열어두고 나머지는 막는 방식으로 운영합니다. 출처: DigitalOcean 커뮤니티 튜토리얼 "Initial Server Setup"에서도 이 흐름을 초기 세팅의 기본 순서로 제시하고 있습니다. 솔직히 이건 예상 밖이었습니다. 명령어 몇 줄이면 끝날 줄 알았는데, 순서 하나 틀리면 서버가 잠겨버리는 구조라 신중하게 하나하나 확인하게 됩니다.
초기 보안 세팅 핵심 체크리스트
세팅을 마치고 나서야 정리가 됐는데, 순서를 미리 알고 들어갔다면 훨씬 덜 헤맸을 것입니다.
- SSH 키 페어 생성 후 서버에 공개 키 등록 → 재접속 테스트를 반드시 먼저 확인
- 비밀번호 로그인 차단(PasswordAuthentication no)은 키 접속이 완전히 확인된 뒤에만 적용
- ufw로 22번(SSH), 80번(HTTP), 443번(HTTPS) 포트만 허용 후 나머지 차단
- root 계정 직접 로그인 차단, sudo 권한을 가진 일반 계정으로 운영
- VPS 제공업체 웹 콘솔 접근 방법을 미리 확인해두기 (잠금 대비 비상 탈출구)
도메인 연결과 SSL 인증서, 생각보다 쉽고 생각보다 기다린다
서버 보안 설정을 마치고 나면 "이제 내 도메인으로 접속되게 해보자"는 생각이 자연스럽게 듭니다. 도메인 연결 방법은 간단한데, 가비아 같은 도메인 등록업체에서 구매한 도메인의 A 레코드를 VPS의 고정 IP 주소로 바꾸면 됩니다. A 레코드(A Record)란, 도메인 이름과 숫자로 된 IP 주소를 연결해주는 DNS 설정값입니다. 쉽게 말해 "이 주소로 오면 저 서버로 가라"는 이정표입니다.
문제는 제가 설정을 마치고 바로 브라우저에서 도메인을 쳐봤다는 겁니다. 당연히 안 됐습니다. DNS 전파(DNS Propagation)라는 과정이 있는데, 이는 전 세계 DNS 서버들이 변경된 레코드를 자기 캐시에 반영하는 데 걸리는 시간으로, 짧게는 수십 분, 길면 48시간까지도 걸립니다. 제 경험상 이건 좀 다릅니다. 대부분의 가이드에서 "몇 시간 기다리세요"라고 한 줄로 처리하는데, 처음 접하는 분들은 그게 진짜인지 내가 뭘 잘못한 건지 구분이 안 됩니다. 저도 한 시간 넘게 F5만 눌렀습니다.
DNS가 전파되고 나면 Nginx를 설치하고, Certbot으로 SSL 인증서를 발급받는 단계가 기다립니다. Nginx는 웹 요청을 받아서 처리하는 웹 서버 소프트웨어이고, Certbot은 Let's Encrypt에서 무료 SSL 인증서를 자동으로 발급·갱신해주는 도구입니다. 출처: Let's Encrypt / Certbot 공식 문서 (certbot.eff.org)에 따르면 인증서 유효기간은 90일이며, Certbot 설치 시 크론(cron) 작업이나 systemd 타이머가 자동 등록되어 만료 전 갱신이 이루어집니다. 크론(cron)이란 리눅스에서 특정 명령을 주기적으로 자동 실행하도록 예약하는 스케줄러입니다. 제가 직접 써봤는데, 이 부분은 공식 가이드를 그대로 따라 하니 막히는 부분이 없었고, 갱신이 자동화된다는 걸 확인한 순간 마음이 한결 가벼워졌습니다.
일반적으로 초기 세팅 가이드들은 이 정도에서 마무리됩니다. 그런데 제 생각엔 이게 진짜 시작입니다. 보안 패치, 로그 모니터링, 디스크 용량 관리, DDoS 대응 같은 지속적인 운영 부담은 세팅 가이드 어디에도 자세히 나오지 않습니다. "저렴하고 자유롭다"는 장점 뒤에는 보안 사고 발생 시 책임도 오롯이 본인이 진다는 현실이 있습니다. 이 점이 충분히 강조되지 않는 경향이 있다고 봅니다.
자주 묻는 질문
Q. SSH 키 설정 후 접속이 안 되면 어떻게 복구하나요?
A. VPS 제공업체가 제공하는 웹 콘솔(Web Console)을 이용하면 됩니다. SSH 없이 브라우저에서 직접 서버 터미널에 접근하는 기능인데, 혹시 이 기능 위치를 미리 확인해두셨나요? 잠기기 전에 찾아두는 게 훨씬 마음 편합니다.
Q. A 레코드 설정했는데 도메인이 바로 안 되는 게 정상인가요?
A. 네, 정상입니다. DNS 전파(DNS Propagation) 때문에 수십 분에서 최대 48시간까지 기다려야 할 수 있습니다. 혹시 계속 안 된다면 내가 잘못한 건지 전파 중인 건지 구분이 안 되실 텐데, 'whatsmydns.net' 같은 사이트에서 전파 현황을 실시간으로 확인해보시는 건 어떨까요?
Q. Let's Encrypt SSL 인증서는 90일마다 직접 갱신해야 하나요?
A. Certbot을 설치하면 크론 작업 또는 systemd 타이머가 자동으로 등록되어 만료 전 갱신이 자동 처리됩니다. 다만 갱신이 실제로 잘 되고 있는지 가끔 로그를 확인하는 습관을 들이는 건 어떨까요? 자동이라도 한 번쯤 점검해두면 훨씬 안심됩니다.
Q. VPS와 관리형 호스팅, 어떤 걸 선택해야 하나요?
A. 학습 목적이나 소규모 사이드 프로젝트라면 VPS가 훌륭한 선택입니다. 하지만 실제 서비스를 운영할 계획이라면, 보안 패치·로그 모니터링·DDoS 대응 같은 운영 부담을 직접 감당할 수 있는지 먼저 솔직하게 따져보시는 게 좋습니다. 비용 차이만큼 시간과 책임도 본인 몫이 된다는 점, 충분히 고려하셨나요?
결론
주말 하루를 통째로 쓰고 나서 느낀 건, VPS 세팅이 단순히 명령어 실습이 아니라는 겁니다. SSH 키가 잠기고, DNS 전파를 기다리고, 크론 갱신을 확인하는 과정이 쌓이면서 클라우드 서비스가 뒤에서 어떤 일을 대신 해주고 있었는지 처음으로 실감했습니다. 그 추상화 너머를 한 번 들여다봤다는 것만으로도 충분히 가치 있는 경험이었습니다.
처음 시작하신다면 SSH 키 접속을 100% 확인한 뒤에 비밀번호 차단을 적용하는 순서 하나만 꼭 지켜주시길 권합니다. 그리고 세팅을 마쳤다고 끝이 아니라, 보안 패치와 로그 확인을 주기적으로 챙기는 것까지를 운영의 일부로 받아들이는 시각이 필요합니다. 그 준비가 됐다면, VPS는 생각보다 훨씬 재미있는 도구가 될 것입니다.
참고: Let's Encrypt / Certbot 공식 문서 (certbot.eff.org) | DigitalOcean 커뮤니티 튜토리얼 "Initial Server Setup" 시리즈 | Nginx 공식 문서 (nginx.org/en/docs)
'IT적응기' 카테고리의 다른 글
| zsh·tmux로 터미널 바꾸기 (자동완성, 세션유지, dotfiles) (0) | 2026.07.11 |
|---|---|
| Docker 입문 (환경 차이, 컨테이너, 온보딩) (0) | 2026.07.10 |
| 개발자 책상 셋업 (듀얼 모니터, 모니터암, 의자) (0) | 2026.07.09 |
| 스마트 플러그 후기 (대기전력, 누진제, 절전효과) (0) | 2026.07.08 |
| 홈캠 로컬 저장 (NVR 구성, 보안 설정, 구독료) (0) | 2026.07.07 |