
한 줄 요약
Guacamole은 브라우저만으로 VNC, SSH, RDP 원격 접속을 가능하게 해주는 오픈소스 게이트웨이다.
왜 Guacamole인가?
내 사용 사례
- 컴퓨터 포맷을 자주 하는데, 로컬에 원격 접속 설정해놓으면 다 날아감
- 외부에서 내부 컴퓨터를 급하게 사용해야 할 때가 있음
- 공용 PC에서도 주소만 알면 바로 접속 가능
기존 원격 접속의 문제
| 방식 | 문제점 |
|---|---|
| TeamViewer | 상업 용도 감지, 세션 제한 |
| AnyDesk | 무료 제한, 외부 서버 의존 |
| RDP 직접 연결 | 포트 개방 보안 위험 |
| SSH 직접 연결 | 포트 개방 필요 |
Guacamole의 해결책
- 브라우저만 있으면 어디서든 접속
- 단일 포트(HTTPS)로 모든 프로토콜 터널링
- 중앙 집중식 접속 관리
Guacamole의 장점
1. 모든 OS에서 접속 가능
브라우저가 있는 모든 기기에서 사용 가능:
- Windows, Mac, Linux
- iOS, Android
- 태블릿, 심지어 스마트TV까지
2. 다양한 프로토콜 지원
| 프로토콜 | 용도 |
|---|---|
| VNC | Mac, Linux 데스크톱 |
| RDP | Windows 원격 데스크톱 |
| SSH | 서버 터미널 접속 |
| Telnet | 레거시 장비 |
3. SSH + SFTP 지원
SSH 접속 시 파일 전송(SFTP)도 함께 지원

4. 다중 연결
최신 버전(1.3+)에서는 한 화면에 여러 PC 동시 제어 가능
Docker Compose로 설치하기
가장 간단한 올인원 이미지 사용:
docker-compose.yml
services:
guacamole:
image: jwetzell/guacamole
container_name: guacamole
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- ./config:/config
실행
# 시작
docker compose up -d
# 접속
# http://서버IP:8080/guacamole
# 기본 계정: guacadmin / guacadmin
⚠️ 보안 주의: 첫 로그인 후 반드시 비밀번호 변경!
VNC 연결 설정
1. 대상 PC에 VNC 서버 설치
추천 VNC 서버 (Windows):
| 프로그램 | 특징 |
|---|---|
| TightVNC | 가볍고 빠름, 추천 ⭐ |
| RealVNC | 안정적 |
| UltraVNC | 기능 많음 |
2. Guacamole에서 연결 추가
설정 → 연결 → 새 연결- 프로토콜:
VNC선택 - 네트워크 설정:
- 호스트: VNC 서버 IP
- 포트: 5900 (기본값)
- 인증:
- 비밀번호: VNC에서 설정한 비밀번호
RDP 연결 설정 (Windows)
1. Windows에서 원격 데스크톱 활성화
설정 → 시스템 → 원격 데스크톱원격 데스크톱 활성화켜기
2. Guacamole에서 연결 추가
설정 → 연결 → 새 연결- 프로토콜:
RDP선택 - 네트워크 설정:
- 호스트: Windows PC IP
- 포트: 3389 (기본값)
- 인증:
- 사용자명: Windows 계정
- 비밀번호: Windows 비밀번호
- 디스플레이:
- 색 깊이: True color (32-bit) 추천
- 해상도: 원하는 크기 또는 자동
RDP 팁
보안 모드: NLA 사용 시 “NLA” 선택드라이브 활성화: 파일 전송 필요 시 체크오디오: 원격 소리 필요 시 활성화
SSH 연결 설정
1. Guacamole에서 연결 추가
설정 → 연결 → 새 연결- 프로토콜:
SSH선택 - 네트워크 설정:
- 호스트: 서버 IP
- 포트: 22 (기본값)
- 인증 (택일):
- 비밀번호 방식: 사용자명 + 비밀번호
- 키 방식: 개인 키 붙여넣기
2. SFTP 활성화 (파일 전송)
SSH 연결 설정에서:
SFTP 활성화체크SFTP 루트 디렉토리:/home/사용자명등
접속 후 Ctrl+Shift+Alt로 사이드바 열어서 파일 전송 가능
고급 설정
HTTPS 적용 (권장)
외부 접속 시 반드시 HTTPS 사용 권장:
# Nginx 리버스 프록시 예시
server {
listen 443 ssl;
server_name guac.example.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location / {
proxy_pass http://localhost:8080/guacamole/;
proxy_buffering off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
2단계 인증 (TOTP)
설정 → 사용자 → 본인 계정TOTP탭에서 활성화- Google Authenticator 등으로 등록
단점 및 해결책
| 단점 | 해결책 |
|---|---|
| 브라우저 단축키 충돌 | 설정에서 키 매핑 변경 |
| 모바일 입력 불편 | 외부 키보드 연결 추천 |
| 초기 설정 복잡 | Docker 올인원 이미지 사용 |
추천 사용 시나리오
| 시나리오 | 추천도 |
|---|---|
| 홈서버 원격 관리 | ⭐⭐⭐⭐⭐ |
| 외부에서 집 PC 접속 | ⭐⭐⭐⭐⭐ |
| 회사에서 집 NAS 접속 | ⭐⭐⭐⭐ |
| 게임용 원격 접속 | ⭐⭐ (지연 있음) |
마무리
Guacamole은 **“브라우저 하나로 모든 원격 접속”**을 가능하게 해주는 강력한 도구다.
- VPN 없이 안전한 접속
- 클라이언트 설치 불필요
- 중앙 집중식 관리
원격 접속이 필요하다면, Guacamole 강력 추천한다.