웹에서 서버 원격접속을 간편하게 Apache Guacamole

| 2020년 5월 31일 | 0 Comments

안녕하세요 오늘을 웹에서 ssh , rdp 등의 원격접속을 간편하게 할수있게 해주는툴 Apache Guacamole 에 대하여 소개하겠습니다.

Apache Guacamole 는 아파치 재단에서 만든 오픈소스 원격 게이트웨이 앱으로 언제든지 웹브라우저에 접근할수있다면 서버를 원격으로 접속할수있게 해주는 앱입니다.

기본적으로 리눅스 상에서 설치 가능하며 , 시놀로지 nas 등의 시스템에서도 도커를 사용할수있다면 설치할수있습니다. 

 

Apache Guacamole 의 설치는 크게 원격데스크톱에 연결하는 프록시밑 기본서버를 구성하는 guacamole-server 와 톰캣을 이용하여 서블릿 컨테이너를 제공하는guacamole-client 로 이루어져있습니다. 

설치는 우분투 18.04 버전에서 진행하였습니다. 

 

  1. 필수 라이브러리 설치
apt install -y gcc g++ 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 libvncserver-dev libtelnet-dev \
libssl-dev libvorbis-dev libwebp-dev

 

  2. guacamole-server 설치 

wget https://downloads.apache.org/guacamole/1.1.0/source/guacamole-server-1.1.0.tar.gz

tar xzf guacamole-server-1.1.0.tar.gz

cd guacamole-server-1.1.0

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

 

make && make install
ldconfig

설치후 서비스를 등록합니다.
systemctl enable guacd
systemctl start guacd

 

3. 톰캣 서블릿 설치 

guacamole-client 를 실행하기위해 톰캣을 설치하고 설정합니다. 

apt install tomcat9 tomcat9-admin tomcat9-common tomcat9-user -y

톰캣 이 정상적으로 설치되었다면 guacamole-client 를 설치합니다.

mkdir /etc/guacamole
wget https://downloads.apache.org/guacamole/1.1.0/binary/guacamole-1.1.0.war -O /etc/guacamole/guacamole.war
ln -s /etc/guacamole/guacamole.war /var/lib/tomcat9/webapps/
systemctl restart tomcat9
systemctl restart guacd

 

4. guacamole 설정 

설정파일등을 저장할 디렉토리와 환경변수를 설정합니다.

mkdir /etc/guacamole/{extensions,lib}

echo “GUACAMOLE_HOME=/etc/guacamole” >> /etc/default/tomcat9

설정파일을 생성합니다.

vim /etc/guacamole/guacamole.properties

guacd-hostname: localhost
guacd-port: 4822
user-mapping: /etc/guacamole/user-mapping.xml
auth-provider: net.sourceforge.guacamole.net.basic.BasicFileAuthenticationProvider

톰캣과 guacamole 설치파일을 링크로 연결합니다. 

ln -s /etc/guacamole /usr/share/tomcat9/.guacamole

 

5. 설치 확인 및 로그인 

http://서버 ip :8080/guacamole/#/ 로 접속하면 다음과같은 화면이 나옵니다.

초기 id 와 패스워드는 guacadmin 이므로 로그인하고 다른 계정을 생성해주면 됩니다.

계정을 생성한후 새로운 연결을 생성하면 다른서버의 ssh 나 vnc 등을 연결할수있습니다. 

 

 

Category: LINUX

Avatar

About the Author ()