Windows 서버
Alpacon은 Alpamon 에이전트를 통해 Windows 서버를 지원합니다. 터미널 접속(Websh), 파일 전송(WebFTP), 시스템 정보, 시스템 제어, 메트릭이 모두 동작하며, 일부 Unix 전용 기능은 동작하지 않습니다. 이 페이지는 Windows에 특화된 내용을 다루며, 단계별 절차는 링크된 가이드에 있습니다.
지원 버전 및 아키텍처
| 지원 | |
|---|---|
| Windows Server | 2019, 2022, 2025 |
| Windows 클라이언트 | Windows 10 (1803 이상), Windows 11 |
| 아키텍처 | amd64 (x64) 전용 |
지원 기준은 Windows Server 2019 이상과 Windows 10 1803 이상입니다. Websh(브라우저 터미널)는 추가로 ConPTY가 필요하며, ConPTY는 Server 2019 이상과 Windows 10 1809 이상에서만 제공됩니다. 따라서 Windows 10 1803~1808에서는 Websh를 제외한 모든 기능이 동작합니다. Windows Server 2016 등 그 이하 버전은 공식 지원 대상이 아니지만, 콘솔에서 생성된 설치 명령은 실행되고 비대화형 기능(WebFTP, 명령 실행, 메트릭, 시스템 정보)도 동작하며 Websh만 사용할 수 없습니다. Windows용 ARM64 빌드는 제공되지 않습니다.
설치
관리자 권한 PowerShell에서 설치합니다(cmd.exe는 지원되지 않음). 워크스페이스 생성 명령, install.ps1, 수동 .zip, Ansible 경로가 모두 설치 가이드에 있습니다.
Windows에서 동작하는 기능
| 기능 | Windows |
|---|---|
| 터미널 세션(Websh) | ✅ |
명령 실행(exec, shell) | ✅ (PowerShell) |
| 파일 전송(WebFTP) | ✅ |
| 시스템 정보(사용자, 그룹, 인벤토리) | ✅ |
| 시스템 제어(restart, reboot, shutdown) | ✅ |
| 실시간 메트릭 | ✅ |
| 에이전트 self-upgrade | ❌ (설치 프로그램 재실행으로 업데이트) |
| 사용자/그룹 관리 | ❌ |
권한 변경(chmod / chown) | ❌ |
| 방화벽 관리 | ❌ |
| 포트 포워딩(tunnel) | ❌ |
| 코드 에디터 | ❌ |
| ARM64 빌드 | ❌ |
Windows의 권한 및 신원 모델
Linux 및 macOS와 가장 크게 다른 점입니다.
Windows에서 에이전트는 접속 시 선택한 계정과 무관하게 모든 명령을 SYSTEM(LocalSystem) 권한으로 실행합니다. 세션에 표시되는 계정은 권한 경계가 아니라 감사 라벨입니다. Websh에서 whoami를 실행하면 nt authority\system이 반환됩니다.
서버에 사용자별 경계가 없으므로, 접근은 Windows 파일 권한이 아니라 Alpacon으로 제어됩니다.
- Websh와 명령 실행은 SYSTEM 권한으로 동작합니다.
- WebFTP도 SYSTEM 권한으로 동작하여 에이전트가 접근할 수 있는 모든 경로(
C:\Windows\System32같은 시스템 디렉터리 포함)를 읽고 쓸 수 있습니다. 홈 디렉터리 격리가 없습니다.
실제 경계는 Alpacon 역할 및 권한과 연결 허용 사용자 목록입니다. Websh와 WebFTP 접근 권한은 신중하게 부여하고, 민감한 서버와 경로에 접근할 수 있는 사용자는 역할로 제한하세요.
연결할 수 있는 사용자
Alpacon은 Windows 계정을 동적으로 생성하지 않습니다. 시스템 계정으로 접속하려면 그 계정이 서버에 미리 존재해야 합니다. Windows 계정을 먼저 만들면 접속 시 선택할 수 있습니다.
업그레이드
Linux, macOS와 달리 Windows 에이전트는 자체 업데이트하지 않으며, 명령 기반 업그레이드(콘솔 Upgrade / alpacon agent upgrade)는 Windows에 적용되지 않습니다. 업데이트하려면 최신 릴리스로 설치 프로그램을 다시 실행하세요(에이전트 업그레이드 참고).
제거 및 복구
에이전트는 alpamon unregister로 제거하고, 막힌 호스트는 alpamon register --force로 복구합니다. 이 명령들은 Websh가 아닌 서버에서 직접(RDP 또는 시리얼 콘솔), alpamon v2.3.0 이상에서 실행하세요. 전체 절차: 제거, 재등록 및 복구.
문제 해결
- SmartScreen: 바이너리가 서명되어 있지 않으므로, 아카이브를 수동으로 내려받았다면 등록 전에
Unblock-File을 실행하세요. - 로그 자동 로테이션 없음:
%ProgramData%\alpamon\log\alpamon.log가 무한 증가하므로 예약 작업으로 로테이션하세요. - 서비스가 시작되지 않음(StartPending 포함) 등 그 외 에이전트 문제: 에이전트 문제 → Windows를 참고하세요.
운영 참고
서비스 복구 동작, PowerShell·TLS 요건, 전체 설치 방식 등 더 깊은 운영 세부 정보는 Alpamon Windows 런북 alpamon/docs/windows.md를 참고하세요.