# 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