proxmox-rdp-autosetup/README.md
root afb79d1872 docs: RDP 제어 스크립트 curl 다운로드 방법 추가
- README.md에 rdp-control.sh 직접 다운로드 방법 추가
- curl 명령어로 스크립트 다운로드 후 바로 사용 가능
- 리포지토리 클론 없이도 제어 스크립트 사용 가능

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-06 01:33:02 +09:00

227 lines
6.4 KiB
Markdown

# Proxmox Auto RDP Setup Script
Proxmox VE 호스트가 부팅 시 자동으로 RDP 연결하도록 설정하는 자동화 스크립트입니다.
## 🚀 한 줄 설치
### 기본 설치 스크립트
```bash
bash -c "$(curl -fsSL https://git.0bin.in/thug0bin/proxmox-rdp-autosetup/raw/branch/main/proxmox-auto-rdp-setup.sh)"
```
### 개선된 설치 스크립트 (Perfect 버전)
```bash
bash -c "$(curl -fsSL https://git.0bin.in/thug0bin/proxmox-rdp-autosetup/raw/branch/main/proxmox-auto-rdp-perfect.sh)"
```
### 웹 제어 패널 설치
```bash
# 리포지토리 클론 후
git clone https://git.0bin.in/thug0bin/proxmox-rdp-autosetup.git
cd proxmox-rdp-autosetup
# 웹 제어 패널 설치
bash install_web_control.sh
```
### RDP 제어 스크립트 다운로드
```bash
# curl로 직접 다운로드
curl -fsSL https://git.0bin.in/thug0bin/proxmox-rdp-autosetup/raw/branch/main/rdp-control.sh -o rdp-control.sh
chmod +x rdp-control.sh
# 사용법
./rdp-control.sh start
./rdp-control.sh status
./rdp-control.sh stop
```
## 📋 주요 기능
### 자동 RDP 설정
- **완전 자동화**: 사용자 입력 후 모든 설정 자동 수행
- **강화된 검증**: 입력값 검증 및 네트워크 연결 테스트
- **에러 처리**: 단계별 실패 처리 및 재시도 로직
- **백업**: 기존 설정 자동 백업
- **사용자 친화적**: 컬러 출력 및 진행 상황 표시
- **마우스 커서 문제 해결**: 최신 버전에서 마우스 커서 사라짐 문제 수정
### 웹 제어 패널 (신규)
- **Flask 기반 웹 인터페이스**: RDP 자동 로그인을 웹에서 제어
- **토글 스위치**: 간단한 ON/OFF 제어
- **Tailscale 통합**: Tailscale IP로 원격 접속 가능
- **실시간 상태 모니터링**: 서비스 상태 실시간 확인
- **로그 뷰어**: 시스템 로그 확인 기능
### RDP 제어 스크립트 (신규)
- **명령줄 제어**: 터미널에서 간편한 RDP 제어
- **상태 모니터링**: 실시간 연결 상태 확인
- **로그 관리**: RDP 연결 로그 확인 기능
- **자동 재시작**: 연결 문제 시 자동 재시작
- **사용자 친화적**: 컬러 출력 및 직관적 명령어
## 🎯 지원 환경
- **OS**: Proxmox VE 8.x 이상 (Debian 기반)
- **권한**: root 권한 필요
- **네트워크**: 인터넷 연결 필요
- **Python**: 3.x (웹 제어 패널용)
## 📖 동작 원리
### RDP 자동 연결
1. **부팅 완료** → systemd가 tty1에서 rdpuser 자동 로그인
2. **로그인** → .bash_profile이 tty1에서 startx 실행
3. **X 시작** → .xinitrc가 실행됨
4. **Openbox 실행** → 윈도우 매니저 시작
5. **FreeRDP3 실행** → 풀스크린 RDP 연결
6. **RDP 종료시** → X 세션도 함께 종료
### 웹 제어 패널
1. **Flask 서버** → Gunicorn으로 실행
2. **systemd 서비스** → 부팅 시 자동 시작
3. **REST API** → 상태 조회 및 제어
4. **웹 UI** → 토글 스위치로 간편 제어
## 🔧 설치 과정
### RDP 자동 설정
스크립트 실행 시 다음 정보를 입력하세요:
- **RDP 서버 주소** (예: example.com:3389)
- **RDP 사용자명**
- **RDP 패스워드**
- **로컬 사용자명** (기본값: rdpuser)
### 웹 제어 패널
```bash
# 설치
bash install_web_control.sh
# 접속
http://[서버IP]:5000
http://[Tailscale IP]:5000
# 제거
bash uninstall_web_control.sh
```
## 📝 설정 파일
### RDP 관련 파일
- `/etc/systemd/system/getty@tty1.service.d/override.conf` - 자동 로그인
- `/home/[사용자]/.bash_profile` - X 자동 시작
- `/home/[사용자]/.xinitrc` - RDP 연결 실행
- `/home/[사용자]/.config/openbox/rc.xml` - 풀스크린 최적화
### 웹 제어 패널 파일
- `/root/proxmox-rdp-autosetup/rdp_control_web.py` - Flask 애플리케이션
- `/root/proxmox-rdp-autosetup/templates/index.html` - 웹 UI
- `/etc/systemd/system/rdp-control-web.service` - systemd 서비스
## 🛡️ 보안 고려사항
- RDP 패스워드가 설정 파일에 평문으로 저장됩니다
- 운영 환경에서는 보안 강화 조치 필요
- 웹 제어 패널은 기본적으로 인증 없이 접근 가능 (필요시 인증 추가)
- 시스템 접근을 위해 Ctrl+Alt+F2로 다른 터미널 사용 가능
## 🔄 문제 해결
### 자주 발생하는 문제들
1. **RDP 연결 실패**
- 서버 주소와 포트 확인
- 방화벽 설정 확인
- 인증 정보 확인
2. **화면 깜빡임**
- X 서버 로그 확인: `cat /home/rdpuser/.local/share/xorg/Xorg.0.log`
- systemd 로그 확인: `journalctl -u getty@tty1.service -f`
3. **마우스 커서 사라짐**
- 최신 버전 스크립트로 재설치
- openbox 설정에 커서 테마 확인
4. **웹 제어 패널 접속 불가**
- 서비스 상태 확인: `systemctl status rdp-control-web`
- 방화벽 설정 확인 (포트 5000)
- 로그 확인: `journalctl -u rdp-control-web -f`
5. **설정 초기화**
- 백업에서 복원: `/root/proxmox-rdp-backup-[날짜시간]/`
## 🔍 서비스 관리 명령어
### RDP 제어 스크립트 (권장)
```bash
# RDP 자동 연결 시작
bash rdp-control.sh start
# RDP 자동 연결 중지
bash rdp-control.sh stop
# RDP 연결 상태 확인
bash rdp-control.sh status
# RDP 자동 연결 재시작
bash rdp-control.sh restart
# RDP 로그 확인
bash rdp-control.sh logs
# 도움말 보기
bash rdp-control.sh help
```
### systemd 서비스 직접 제어
```bash
# 상태 확인
systemctl status getty@tty1.service
# 서비스 재시작
systemctl restart xrdp
systemctl restart xrdp-sesman
# 로그 확인
journalctl -u xrdp -f
journalctl -u getty@tty1.service -f
```
### 웹 제어 패널
```bash
# 상태 확인
systemctl status rdp-control-web
# 재시작
systemctl restart rdp-control-web
# 로그 확인
journalctl -u rdp-control-web -f
```
## 📚 상세 문서
- [상세 설정 가이드](./proxmox_auto_rdp_setup_korean.md) - RDP 자동 설정 상세 문서
- [PBS 자동 등록 기획서](./pbs_auto_registration.md) - Proxmox Backup Server 자동 등록 (개발 예정)
## 🤝 기여
이슈나 개선 사항이 있다면 언제든 제보해주세요!
## 📄 라이선스
MIT License
---
**개발**: 시골약사 & Claude Code Assistant
**생성일**: 2025-08-24
**최종 업데이트**: v1.1 (2025-09-06)
### 📌 업데이트 이력
- v1.1 (2025-09-06): 웹 제어 패널 추가, 마우스 커서 문제 해결
- v1.0 (2025-08-24): 최초 릴리즈
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>