Guacamole 설치

Guacamole 설치

요약: Proxmox에 Guacamole를 docker로 설치 방법 정리

Guacamole는 웹 브라우저에서 HTML5를 통해 RDP, SSH, VNC를 구현한 프로젝트이다. Guacamole 설치 방법은 다음과 같다.

설치 방법

Guacamole 설치 블로그를 참조하여 설치한다.

docker-compose.yml 파일을 다음과 같이 수정했다.

  • NPM reverse proxy를 사용하고 있기에 Nginx는 미설치
  • 기본 외부 연결 port인 8080은 이미 사용하고 있기에 port 번호 변경
  • restart: unless-stopped 으로 수정

Guacamole 설치하고 SSH 연결하려 했지만 계속 에러 발생하며 SSH가 동작 안되는 문제가 있었다. 알아보니 이는 Guacamole가 최신 OpenSSL을 지원하지 않는 문제, 다시 말하면, Ubuntu 22.04에서 옛날 SSH protocol, ssh-rsa의 지원을 제거했기 때문이다.

임시 수정 방법으로는 다음과 같이 예전 SSH protocol 지원 활성화하는 것이다.

$ vi /etc/ssh/sshd_config

# Add the following line at the end
HostKeyAlgorithms +ssh-rsa

Guacamole를 사용하며 눈에 띄는 것은 LXC의 메모리 사용량이 많이 증가했다는 것이였다. 자세히 살펴보니:

  • Guacamole는 서비스 시작 직후 (i.e., docker compose up) 약 400MB 메모리 사용
  • Ubuntu RDP 1개 + SSH 2-3개 사용 시 약 900MB 메모리 사용

이중 Ubuntu는 RDP를 통해 종료 시켰음에도 Guacamole는 connection을 계속 유지하고 있는지 메모리 해제가 안 되는 것 같았다.

Guacamole가 설치된 LXC는 메모리 4G로 설정해서 사용하고 있고, 다른 서비스도 같이 돌고 있기에, 갑작스런 메모리 사용량 증가는 부담스러울 수 있다. 메모리 사용량에 대해 잘 살펴봐야겠고, ssh만 지원하는 조금 더 가벼운 서비스를 찾아봐야겠다.