메뉴 닫기

Apache Guacamole 설치

 

“Apache Guacamole”


Guacamole(과카몰리)는 웹 기반의 원격 데스크톱 게이트웨이로 apahce의 오픈소스 중 하나입니다.

별도의 클라이언트 소프트웨어 설치 없이도 원격 작업을 가능하게 해주며, 사용자가 웹 브라우저를 통해 원격 시스템에 VNC, RDP, SSH 등을 이용하여 접속할 수 있게 해줍니다.

특히 IT 관리자나 원격 교육 및 원격 작업을 수행하는 곳에 유용합니다.

 

Apache Guacamole

 

 ✅ Guacamole 서버를 켜두었을 때, Guacamole가 집에 있는 데스크톱에 대신 원격 접속하고, 사용자와 데스크톱 사이에서 통신을 중계합니다.

 

[개  요]

✅ 종    류 : 엔지니어링

✅ 난이도 : ⭐⭐

✅ 내용요약 : Guacamole란 무엇이며, 설치 방법 

✅ 테스트환경 : Ubuntu 22.04

✅ 관련직무 : 시스템&클라우드 엔지니어

 

 

 

Guacamole

 

 

 

 

 

Guacamole Guacamole 작동 원리


✅ Guacamole는 Tomcat상에서 동작하여 웹페이지 인터페이스를 제공하는 Guacamole Servlet Container와 원격 장치에 연결하여 실질적인 입출력을 수행하는 guacd 데몬으로 이루어져 있습니다.

 

 

 

 

Guacamole Guacamole 설치


 🖥️ OS : Ubuntu 22.04

 🖥️ Guacamole 1.5.4

 

1️⃣ 필수 패키지 설치

# apt -y update

# apt -y install build-essential libcairo2-dev libjpeg-turbo8-dev libpng-dev libtool-bin libossp-uuid-dev libavcodec-dev libavutil-dev libswscale-dev freerdp2-dev libpango1.0-dev libssh2-1-dev libtelnet-dev libvncserver-dev libpulse-dev libssl-dev libvorbis-dev libwebp-dev libavformat-dev libwebsockets-dev tomcat9 tomcat9-admin tomcat9-user

 

 

2️⃣ Guacamole 서버 및 클라이언트 설치

 🔹 Guacamole 서버 (guacd) 와 Guacamole 클라이언트 (war 파일) 를 다운로드하고 설치해야 합니다. 

 

(1) Guacamole 서버 설치

# cd /usr/local/src
# wget https://downloads.apache.org/guacamole/1.5.4/source/guacamole-server-1.5.4.tar.gz
# tar xvzf guacamole-server-1.5.4.tar.gz
# cd guacamole-server-1.5.4

# ./configure --with-init-dir=/etc/init.d

# make
# make install
# ldconfig

 

(2) Guacamole 클라이언트 설치

🔹 Guacamole Client 는 웹 브라우저를 통해 원격 데스크톱, SSH 또는 VNC 세션에 접속할 수 있게 해주는 웹 애플리케이션입니다.

# cd /usr/local/src
# wget https://downloads.apache.org/guacamole/1.5.4/binary/guacamole-1.5.4.war
# mv guacamole-1.5.4.war /var/lib/tomcat9/webapps/guacamole.war

 

 

3️⃣ Guacamole 설정

(1) 서버 설정

 🔹 /etc/guacamole 디렉토리를 생성하고 Guacamole 프록시 설정 파일인 guacamole.properties 를 설정합니다.

 

# mkdir /etc/guacamole
# vi /etc/guacamole/guacamole.properties

 

(2) 사용자 매핑 파일 설정

 🔹 사용자 매핑 파일 (/etc/guacamole/user-mapping.xml) 을 생성하여 원격 접속할 사용자 계정과 관련 설정을 추가합니다.

 🔹 Guacamole 에서 원격 접속을 설정하기 위해서는 아래 파일에 사용자 계정 정보와 원격 접속할 시스템의 정보를 XML 형식으로 추가해야 합니다.

    예를 들어 RDP 프로토콜을 사용하여 Windows 시스템에 접속하려는 경우 다음과 같이 설정할 수 있습니다.

 

# vi /etc/guacamole/user-mapping.xml

 

 🔹 참고사항

– 이 파일에는 여러 <authorize> 섹션을 추가하면 여러 사용자와 여러 원격 시스템에 대한 접속 정보를 입력할 수 있습니다.

– authorize 항목의 username 과 password : Guacamole 웹 인터페이스에 로그인할 때 사용하는 계정 정보 입니다.

– param 항목의 username 과 password : Guacamole 을 통해 실제 원격 서버에 접속할 때 사용되는 원격 서버의 로그인 계정 정보입니다.

                                    이 필드는 생략 가능하며, 생략 시 원격 서버에서 계정 정보를 입력해 로그인 하게 됩니다.

– 사용자 매핑 파일 수정 후에는 tomcat 을 재시작 할 필요가 없습니다. Guacamole 은 사용자 매핑 파일을 새로운 연결 요청이 들어올 때마다 읽어 들이기 때문입니다.

– ignore-cert 옵션 값을 true로 하게 되면, 인증서를 무시하게 됩니다.

  이유는 일반 서버 XRDP로 연결할 때는 문제가 안되지만 컨테이너 XRDP로 연결 시 바로 끊어지기 때문입니다.

  올바른 인증서를 사용하거나 옵션으로 인증서를 무시해야 올바르게 접근이 가능해 집니다.

 

 🔹 Guacamole 실행

# systemctl enable guacd
# systemctl start guacd

 

 

 

4️⃣ Tomcat 시작

# systemctl enable tomcat9
# systemctl restart tomcat9

 

 🔹 웹브라우저에서 Guacamole 웹 인터페이스에 접속할 수 있습니다.

   >> http://Guacamole Server IP:8080/guacamole/

 

 🔹 참고사항

– login failed for display 0 에러 : 메세지가 원격 서버 로그인 후에 발생하였다면, 원격 서버의 계정 정보를 잘못 입력했을 가능성이 높습니다.

– LinuxMint 컨테이너 xrdp 접속 지연 현상 : Remmina 에서 Ubuntu Desktop 은 접속이 빠른데 비해 LinuxMint 의 xrdp 가 느릴 경우가 있는데 Guacamole 를 사용하면 지연 현상이 없습니다.

                                       혹시 지연이 계속 될 경우 Guacamole 설정에서 ‘연결 > 서버 인증서 무시 (체크)’ 가 되었는지 확인합니다.

– 포트 변경 방법 : /var/lib/tomcat9/conf/server.xml 파일의 port=”8080″ 부분을 변경 (69번째 줄) 하고 tomcat9 데몬을 재시작 합니다.

– Guacamole 웹소스 디렉토리 : /var/lib/tomcat9/webapps/guacamole

 

 

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x