과카몰리(guacamole)는 아파치 프로젝트의 일환으로 rdp, vnc 서버 접속을 html5 서버를 거쳐서 접속하게 함으로써 방화벽에 막혀 원격접속을 못하는 환경에서도 접속할 수 있게 도와주는 솔루션이다.

 

클라이언트 PC가 원격접속(아웃바운드)을 허용하지 않는 기업의 전산망에 속해 있어서도 80, 443 포트로 서비스하는 Web Server(guacamole)를 통해 rdp, vnc 서버에 접속이 가능하다.

 

예를 들어 A 대기업에 종사하는 김모씨가 사무실에서 자신의 집에 구축한 테스트 시스템에 원격 접속을 하려 하지만 포트가 막혀 접속이 불가하다.

(대기업/관공서 등은 아웃바운드 포트도 극히 제한적으로 80, 443 정도만 개방하고 그 마저도 감시하는 곳이 있다.)

이럴때 프록시 역활을 해주는 guacamole서버를 구축해 이용하면 guacamole을 중간 매개체로 Windows나 Linux 서버를 접속할 수 있다.

Guacamole은 OS위에 설치해서 구동하는 방법과 Docker Container 이미지를 받아서 컨테이너상에서 구동하는 두가지 방법이 있다.

여기서는 CentOS 7.4 Linux OS 위에 인스톨 스크립트를 이용하여 손 쉽게 설치하고 구동하는 방법에 대해 설명한다.

 

1. OS 설치 및 설정

1.1. CentOS 설치

다운로드 : CentOS 7.4

위 URL에서 다운로드 실패 시 아래 경로에서 찾아서 다운로드 할 것

http://ftp.daumkakao.com/centos

본인은 VMWare Workstation 위에 설치를 하였으며 아래 스펙으로 VM을 생성하였다.

  • CPU - 1 Socket, 1 Core
  • RAM - 2G
  • HDD - 12G
  • NIC - 1G * 1EA
  • OS - CentOS 7.4 Minimal

OS는 디폴트로 설치하였다. OS 설치방법은 설명하지 않겠다.

1.2. OS 설정

- selinux off

# vi /etc/sysconfig/selinux

SELINUX=diasbled

- 네트워크 설정

# vi /etc/sysconfig/network-scripts/ifcfg-ensXX

BOOTPROTO=dhcp -> 만약 static IP를 설정한다면 dhcp 대신 static 입력 후 IP 정보를 별도로 기입한다.

- reboot

# reboot

 

2. guacamole 설치

CentOS 7 OS가 리부팅된 후 ssh로 접속 후 설치 진행을 한다.

2.1. wget 설치

# yum install -y wget

2.2. install script 다운로드

# wget http://sourceforge.net/projects/guacamoleinstallscript/files/CentOS/guacamole-install-script.sh

-> 해당 스크립트는 2017.12.28 기준으로 0.9.13-incubating 버전의 guacamole을 설치해 준다.

2.3. 퍼미션 변경

# chmod +x guacamole-install-script.sh

2.4. 스크립트 실행

# ./guacamole-install-script.sh 스크립트를 실행하면 그릇에 담긴 과카몰리[구아카몰](아보카도로 만든 소스)그림과 함께 정보 입력창이 나옴.

-> 노란색 글씨 부분의 DB, Username 등은 본인이 원하는대로 입력하면 된다.

 

설치가 쭉쭉 되면서 다시 아래와 같이 Java관련 정보를 입력하라는 창이 뜬다.

본인은 그냥 엔터를 눌러 공백으로 입력함. 마지막만 y를 입력하고 엔터를 눌러 진행함. 여기서 yes를 입력하면 진행이 안됨. y를 입력할 것.

 

Nginx 관련 정보 입력. 

본인은 그냥 엔터를 눌러 공백으로 입력함.

 

조금 기다리면 설치가 모두 완료된다.

수동으로 설치하려면 tomcat, java, nginx, mariaDB 등을 설치 후 연동해야 되서 과정이 좀 번거로운데 한방에 모든게 되도록 스크립트를 제공해서 너무 쉽게 설치가 된다. 마지막 메시지를 보면 어떤식으로 접속하라는게 나와 있다.  

http://guacamole서버IP/guacamole/ 또는 https://guacamole서버IP/guacamole/ 주소로  guacadmin / guacadmin 계정으로 접속하라는 메시지이다.

 

3. guacamole 접속 및 설정

3.1. 접속 및 계정 설정

- guacamole 서버 IP로 접속

- admin 계정 비번 변경

- 계정 생성 계정명 / 비번, 권한 등을 설정

 

- 접속 정보 입력 New Connection 탭에 들어가 접속할 RDP/VNC 정보 입력

-> guacamole 서버가 속한 네트워크에 있지 않아도 RDP 또는 VNC로 접속 가능하다면 모두 원격제어가 가능하다.

- 접속 접속을 하면 웹 브라우져를 통해 원격제어를 할 수 있다.

 

혹시 아래와 같은 메시지가 웹브라우져에 출력되면서 접속이 안된다면,

'The remote destop server is currently unreachable.'

-> '네트워크 수준 인증을 사용하여 원격 데스크톱을 실행하는 컴퓨터에서만 연결 허용(권장)' 부분의 옵션을 체크 해제할 것.

다른 이유들로 안될 수 있지만 우선 저 옵션부터 체크 해제 후 다시 연결해 본다.

 

- 메뉴 호출 환경설정, 접속끊기, clipborad 등을 이용하고 싶으면 Crtl - Alt - Shift 를 동시에 누르면 메뉴가 나온다.

->  Crtl - Alt - Shift 를 동시에 다시 한번 누르면 메뉴가 사라진다.

 

4. 한영 변환키 적용

과카몰리를 통해 원격접속 시 윈도우의 한/영 변환은 키보드의 한/영 키로 조작이 되지 않는다.

따라서 Shift - Space를 눌러 변환하는 방법을 사용해야 된다.

쉽게 변환해 주는 프로그램을 첨부하니 필요하면 다운로드하여 사용할 것.

shiftspace

원격제어를 당하는 Windows OS에 압축을 풀어서 한번 실행하면된다. 그리고 시작 프로그램에 넣고 사용하면 편리하다.

 

guacamole-0.9.13 with CentOS 7.4
태그:                     

guacamole-0.9.13 with CentOS 7.4”에 대한 2개의 생각

  • 2020년 6월 5일 5:13 오후
    고유주소

    도움이 많이 되었습니다.
    다만.. 저는 설치하고
    ./guacamole-install-script.sh: line 559: $logfile: ambiguous redirect
    Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
    Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.

    ./guacamole-install-script.sh: line 475: $logfile: ambiguous redirect
    sed: pv (을)를 읽을 수 없음: 그런 파일이나 디렉터리가 없습니다

    ./guacamole-install-script.sh: line 633: $logfile: ambiguous redirect
    ./guacamole-install-script.sh: line 634: $logfile: ambiguous redirect
    ./guacamole-install-script.sh: line 635: $logfile: ambiguous redirect
    ./guacamole-install-script.sh: line 637: $logfile: ambiguous redirect

    이런 오류가 뜨면서 …서비스가 시작이 되지 않네요..

    도움을 주실 수 있다면 답변 부탁드립니다.

    pbakeda@naver.com

    응답
    • 2020년 6월 9일 4:15 오후
      고유주소

      제가 답이 좀 늦었네요.
      제 생각엔 해당 스크립트가 버전이 좀 오래되서 아마도 ngnix 등이 제대로 설치가 안되서 그런거 같습니다.
      guacamole 프로젝트 사이트에서 최신 스크립트를 다운로드 받아서 실행해 보세요.

      응답

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다