Proxmox VE의 기본 인증서는 브라우저에서 경고를 띄웁니다. 이 가이드는 Let’s Encrypt로 무료 SSL 인증서를 설정하거나, 자체 서명 인증서를 새로 만드는 방법을 초보자도 쉽게 따라 할 수 있도록 설명합니다. 특히, 도메인 및 챌린지 설정을 간단히 풀어 설명했습니다.
준비해야 할 것
- Proxmox VE가 설치된 서버 (최신 버전, 예: 8.1 권장)
- Let’s Encrypt를 사용할 경우: 공인 도메인(예: pve.yourdomain.com)과 인터넷 연결
- Proxmox 웹 UI(https://your-server-ip:8006) 또는 SSH 접근
도메인 없어도 괜찮나요? 공인 도메인이 없으면 Let’s Encrypt 대신 자체 서명 인증서를 사용하면 됩니다. 둘 다 무료입니다!
1. Let’s Encrypt로 무료 인증서 설정
Let’s Encrypt는 무료로 신뢰할 수 있는 SSL 인증서를 제공하며, Proxmox에서 쉽게 설정할 수 있습니다. 공인 도메인이 필요합니다.
1-1. Let’s Encrypt 계정 만들기
먼저, Let’s Encrypt에 계정을 등록해 인증서를 받을 준비를 합니다.
- Proxmox 웹 UI에 로그인(https://your-server-ip:8006).
- 왼쪽 메뉴에서 Datacenter > ACME > Accounts로 이동.
- Add 버튼 클릭:
- 계정 이름: 예: letsencrypt
- 이메일: 본인의 이메일 입력 (인증서 갱신 알림용).
- ACME 서버: Let’s Encrypt V2 Production 선택.
- 약관에 동의 체크 후 Register 클릭.
팁: 처음엔 Let’s Encrypt V2 Staging으로 테스트한 후, 문제가 없으면 Production으로 전환하세요.
1-2. 도메인 및 챌린지 설정
Let’s Encrypt가 당신이 도메인의 소유자인지 확인하려면 챌린지라는 인증 방식을 설정해야 합니다. 두 가지 방법이 있습니다: HTTP-01(웹 서버 방식)과 DNS-01(DNS 설정 방식).
- HTTP-01: 서버의 포트 80이 인터넷에서 열려 있어야 합니다. 간단하지만 방화벽 설정이 필요할 수 있습니다.
- DNS-01: 도메인의 DNS 설정을 변경해 인증합니다. 포트 80을 열 수 없는 환경에 적합합니다.
HTTP-01 설정
- Datacenter > ACME > Challenge Plugins > Add로 이동.
- 플러그인 ID: 예: http-challenge
- 유형: HTTP-01 선택.
- 포트 80이 방화벽에서 열려 있는지 확인:
- 서버 방화벽에서 포트 80 허용: ufw allow 80 또는 iptables -A INPUT -p tcp --dport 80 -j ACCEPT
- Create 클릭.
DNS-01 설정 (예: Cloudflare 사용)
- Cloudflare 계정에서 API 토큰 생성:
- Cloudflare 대시보드 > My Profile > API Tokens > Create Token.
- ‘Edit Zone DNS’ 권한 선택, 토큰 복사.
- Datacenter > ACME > Challenge Plugins > Add로 이동.
- 플러그인 ID: 예: dns-challenge
- 유형: DNS-01 선택.
- DNS API: dns_cloudflare 선택, API 토큰 입력.
- Create 클릭.
어떤 챌린지를 선택할까? 서버가 인터넷에 공개되어 있다면 HTTP-01이 간단합니다. 포트 80을 열 수 없거나 내부 네트워크라면 DNS-01을 선택하세요.
1-3. 인증서 주문
도메인과 챌린지를 설정했으니 인증서를 발급받습니다.
- Proxmox 웹 UI에서 Node > Certificates > Add로 이동.
- 설정 입력:
- 도메인: 예: pve.yourdomain.com
- ACME 계정: 1-1에서 만든 계정 선택.
- 챌린지 플러그인: HTTP-01 또는 DNS-01 선택.
- Order Certificates Now 클릭.
- 10초 후 웹 UI가 새로고침되며 인증서가 적용됨.
1-4. 자동 갱신 확인
Let’s Encrypt 인증서는 90일마다 만료되지만, Proxmox가 자동으로 갱신합니다.
- 갱신 상태 확인: journalctl -u pve-daily-update.service
- 문제가 있다면 Datacenter > ACME에서 설정 재확인.
2. 자체 서명 인증서 새로 만들기
공인 도메인이 없거나 내부 네트워크에서 사용할 경우, Proxmox의 자체 서명 인증서를 재생성합니다. 브라우저 경고가 뜨지만 무료로 사용 가능합니다.
단계
- 기존 인증서 백업:안전하게 기존 인증서를 저장합니다.
- cp /etc/pve/pve-root-ca.pem /etc/pve/pve-root-ca.pem.bak cp /etc/pve/local/pve-ssl.key /etc/pve/local/pve-ssl.key.bak cp /etc/pve/local/pve-ssl.pem /etc/pve/local/pve-ssl.pem.bak
- 새 인증서 생성:Proxmox 명령어로 인증서를 새로 만듭니다.
- pvecm updatecerts --force systemctl restart pveproxy
- 브라우저에서 신뢰 설정:
- /etc/pve/pve-root-ca.pem 파일을 PC로 복사.
- Windows: 인터넷 옵션 > 콘텐츠 > 인증서 > 신뢰할 수 있는 루트 인증 기관에 임포트.
- macOS: 키체인 접근에서 인증서 추가, ‘항상 신뢰’로 설정.
- 확인:
- 브라우저에서 https://your-server-ip:8006 접속, 경고 없이 접속되는지 확인.
- CLI로 확인: openssl s_client -connect your-server-ip:8006
왜 자체 서명 인증서? 도메인이 없거나 테스트 환경에서 간단히 설정할 때 유용합니다. 브라우저 경고는 신뢰 설정으로 해결 가능!
문제 해결
- 인증서 적용 안 됨: journalctl -u pveproxy.service로 오류 확인.
- 포트 80 차단: HTTP-01 대신 DNS-01 챌린지 사용, 또는 방화벽에서 ufw allow 80 실행.
- 웹 UI 접속 안 됨: systemctl restart pveproxy로 서비스 재시작.
'서버 리뷰 > Proxmox' 카테고리의 다른 글
Proxmox VE에서 macOS 설치 가이드 (0) | 2025.09.06 |
---|---|
Prometheus와 Grafana를 이용한 데이터 수집 및 시각화 구축 가이드 (1) | 2025.08.18 |
Proxmox에서 Windows VM과 BlueStacks 실행 가이드 (1) | 2025.06.06 |
Proxmox에서 일반 공유기로 네트워크 설정 및 LXC 컨테이너로 DHCP 활성화 (0) | 2025.06.02 |
Proxmox에서 VLAN 설정 및 DHCP와 외부 통신 활성화 방법 (0) | 2025.06.01 |