웹사이트 검색

CentOS 8에서 Guacamole 원격 데스크톱 설치 및 사용


이 페이지에서

  1. 전제 조건
  2. 시작하기\n
  3. 자바 설치
  4. 톰캣 설치
  5. Tomcat용 Systemd 서비스 파일 만들기
  6. Apache Guacamole 설치
  7. Guacamole 클라이언트 설치
  8. 과카몰리 구성
  9. 방화벽 구성\n
  10. Guacamole 웹 UI 액세스
  11. 결론

Apache Guacamole은 VNC, RDP 및 SSH와 같은 표준 프로토콜을 지원하는 무료 오픈 소스 웹 기반 클라이언트리스 원격 데스크톱 애플리케이션입니다. RDP, SSH 또는 VNC를 통해 웹 브라우저에서 Linux 및 Windows PC에 액세스할 수 있습니다. 클라이언트리스이므로 플러그인이나 클라이언트 소프트웨어를 설치할 필요가 없습니다. Guacamole Server와 Guacamole Client의 두 가지 구성 요소로 구성됩니다. Guacamole 서버는 원격 PC에 연결하는 데 필요한 서버 측 및 기본 구성 요소를 제공하는 반면 Guacamole 클라이언트는 원격 PC에 연결하는 데 사용되는 HTML 5 웹 애플리케이션입니다.

이 튜토리얼에서는 CentOS 8에 Guacamole 서버를 설치하는 방법을 보여줍니다.

전제 조건

  • CentOS 8을 실행하는 서버.\n
  • 루트 암호는 서버에 구성됩니다.\n

시작하기

먼저 서버에 몇 가지 필수 패키지를 설치해야 합니다. 다음 명령으로 모두 설치할 수 있습니다.

dnf install -y unzip curl make cmake wget gcc zlib-devel compat-openssl10

필요한 모든 패키지를 설치한 후 시스템에서 EPEL, PowerTools 및 Devel 저장소를 활성화해야 합니다. 다음 명령을 사용하여 활성화할 수 있습니다.

dnf install epel-release -y
dnf config-manager --set-enabled PowerTools
dnf config-manager --enable Devel

다음으로 다음 명령을 사용하여 다른 필수 도구를 설치합니다.

dnf install cairo-devel libuv-devel libjpeg-turbo-devel libjpeg-devel libpng-devel libtool uuid-devel freerdp-devel pango-devel libvncserver-devel pulseaudio-libs-devel openssl-devel libvorbis-devel libwebp-devel libssh2-devel libtheora opus lame-libs

다음으로 다음 명령을 사용하여 Devel 저장소를 비활성화합니다.

dnf config-manager --disable Devel

다음으로 시스템에서 텔넷 라이브러리를 컴파일해야 합니다.

먼저 다음 명령으로 다운로드합니다.

curl -s https://api.github.com/repos/seanmiddleditch/libtelnet/releases/latest | grep browser_download_url | cut -d '"' -f 4 | wget -qi -

다운로드가 완료되면 다음 명령을 사용하여 다운로드한 파일의 압축을 풉니다.

tar -xf libtelnet-*.tar.gz

그런 다음 디렉터리를 추출된 디렉터리로 변경하고 다음 명령으로 구성합니다.

cd libtelnet-*/
./configure

그런 다음 다음 명령을 사용하여 시스템에 설치하십시오.

make 
make install

설치가 완료되면 다음 단계로 진행할 수 있습니다.

자바 설치

Guacamole은 Java 기반 소프트웨어이므로 서버에 Java가 설치되어 있어야 합니다. 설치되어 있지 않은 경우 다음 명령으로 설치할 수 있습니다.

dnf install java-11-openjdk-devel

설치가 완료되면 다음 명령을 사용하여 Java 버전을 확인하십시오.

java -version

다음과 같은 결과가 표시되어야 합니다.

openjdk version "11.0.9.1" 2020-11-04
OpenJDK Runtime Environment (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04)
OpenJDK 64-Bit Server VM (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)

톰캣 설치

Apache Tomcat은 과카몰리 클라이언트 콘텐츠를 제공하는 데 사용됩니다. 따라서 서버에 Tomcat을 설치해야 합니다.

먼저 다음 명령을 사용하여 Tomcat에 대한 별도의 사용자 및 그룹을 만듭니다.

groupadd --system tomcat
useradd -d /usr/share/tomcat -r -s /bin/false -g tomcat tomcat

그런 다음 다음 명령을 사용하여 최신 버전의 Tomcat을 다운로드합니다.

wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.43/bin/apache-tomcat-9.0.43.tar.gz

다운로드가 완료되면 다음 명령을 사용하여 다운로드한 파일의 압축을 풉니다.

tar -xvf apache-tomcat-9.0.43.tar.gz

다음으로 Tomcat을 /usr/share 디렉토리로 이동합니다.

mv apache-tomcat-9.0.43 /usr/share/tomcat

다음으로 Tomcat 디렉터리에 적절한 소유권을 설정합니다.

chown -R tomcat:tomcat /usr/share/tomcat/

완료되면 다음 단계로 진행할 수 있습니다.

Tomcat용 Systemd 서비스 파일 생성

다음으로 Tomcat용 systemd 서비스 파일을 생성해야 합니다. 다음 명령으로 만들 수 있습니다.

nano /etc/systemd/system/tomcat.service

다음 줄을 추가합니다.

[Unit]
Description=Tomcat Server
After=syslog.target network.target

[Service]
Type=forking
User=tomcat
Group=tomcat

Environment=JAVA_HOME=/usr/lib/jvm/jre
Environment='JAVA_OPTS=-Djava.awt.headless=true'
Environment=CATALINA_HOME=/usr/share/tomcat
Environment=CATALINA_BASE=/usr/share/tomcat
Environment=CATALINA_PID=/usr/share/tomcat/temp/tomcat.pid
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M'
ExecStart=/usr/share/tomcat/bin/catalina.sh start
ExecStop=/usr/share/tomcat/bin/catalina.sh stop

[Install]
WantedBy=multi-user.target

파일을 저장하고 닫은 후 다음 명령을 사용하여 systemd 데몬을 다시 로드합니다.

systemctl daemon-reload

그런 다음 Tomcat 서비스를 시작하고 시스템 재부팅 시 시작되도록 활성화합니다.

systemctl start tomcat
systemctl enable tomcat

다음 명령을 사용하여 Tomcat 상태를 확인할 수도 있습니다.

systemctl status tomcat

다음 출력이 표시되어야 합니다.

? tomcat.service - Tomcat Server
   Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2021-02-16 09:34:45 EST; 6s ago
  Process: 26546 ExecStart=/usr/share/tomcat/bin/catalina.sh start (code=exited, status=0/SUCCESS)
 Main PID: 26551 (java)
    Tasks: 35 (limit: 12523)
   Memory: 89.7M
   CGroup: /system.slice/tomcat.service
           ??26551 /usr/lib/jvm/jre/bin/java -Djava.util.logging.config.file=/usr/share/tomcat/conf/logging.properties -Djava.util.logging.man>

Feb 16 09:34:45 centos8 systemd[1]: Starting Tomcat Server...
Feb 16 09:34:45 centos8 systemd[1]: Started Tomcat Server.

아파치 구아카몰 설치

먼저 다음 명령을 사용하여 최신 버전의 Guacamole을 다운로드합니다.

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

다운로드가 완료되면 다음 명령을 사용하여 다운로드한 파일의 압축을 풉니다.

tar -xvzf guacamole-server-1.3.0.tar.gz

그런 다음 디렉터리를 추출된 디렉터리로 변경하고 다음 명령으로 구성합니다.

cd guacamole-server-1.3.0
./configure --with-init-dir=/etc/init.d

그런 다음 다음 명령을 사용하여 시스템에 설치하십시오.

make
make install
ldconfig

다음으로 다음 명령을 사용하여 systemd 데몬을 다시 로드합니다.

systemctl daemon-reload

다음으로 Guacamole 서비스를 시작하고 시스템 재부팅 시 시작되도록 활성화합니다.

systemctl start guacd
systemctl enable guacd

다음 명령을 사용하여 Guacamole의 상태를 확인할 수 있습니다.

systemctl status guacd

다음 출력이 표시되어야 합니다.

? guacd.service - LSB: Guacamole proxy daemon
   Loaded: loaded (/etc/rc.d/init.d/guacd; generated)
   Active: active (running) since Tue 2021-02-16 09:37:15 EST; 4s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 35723 ExecStart=/etc/rc.d/init.d/guacd start (code=exited, status=0/SUCCESS)
    Tasks: 1 (limit: 12523)
   Memory: 12.1M
   CGroup: /system.slice/guacd.service
           ??35726 /usr/local/sbin/guacd -p /var/run/guacd.pid

Feb 16 09:37:15 centos8 systemd[1]: Starting LSB: Guacamole proxy daemon...
Feb 16 09:37:15 centos8 guacd[35723]: Starting guacd: guacd[35724]: INFO:        Guacamole proxy daemon (guacd) version 1.3.0 started
Feb 16 09:37:15 centos8 guacd[35723]: SUCCESS
Feb 16 09:37:15 centos8 guacd[35726]: Listening on host 127.0.0.1, port 4822
Feb 16 09:37:15 centos8 systemd[1]: Started LSB: Guacamole proxy daemon.

Guacamole 클라이언트 설치

다음으로 Guacamole용 디렉터리를 생성하고 다음 명령을 사용하여 Guacamole 클라이언트 파일을 다운로드합니다.

mkdir /etc/guacamole
wget https://downloads.apache.org/guacamole/1.3.0/binary/guacamole-1.3.0.war

다운로드가 완료되면 다운로드한 파일을 /etc/guacamole 디렉토리로 이동합니다.

mv guacamole-1.3.0.war /etc/guacamole/guacamole.war

다음으로 /usr/share/tomcat 디렉토리에 대한 guacamole.war 파일의 심볼릭 링크를 만듭니다.

ln -s /etc/guacamole/guacamole.war /usr/share/tomcat/webapps/

다음으로 다음 명령을 사용하여 Guacamole 홈 디렉토리를 설정합니다.

echo "GUACAMOLE_HOME=/etc/guacamole" | tee -a /etc/default/tomcat

다음으로 다음 명령을 사용하여 Guacamole 구성 파일을 만듭니다.

nano /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

파일을 저장하고 닫은 다음 /etc/guacamole 디렉토리의 심볼릭 링크를 만듭니다.

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

과카몰리 구성

다음으로 Guacamole에서 연결하려는 원격 서버를 정의하기 위해 Guacamole 사용자 매핑 파일을 생성해야 합니다.

먼저 다음 명령을 사용하여 비밀 암호를 생성합니다.

echo -n your-password | openssl md5

다음 출력이 표시되어야 합니다.

(stdin)= 0f6e4a1df0cf5ee97c2066953bed21b2

다음으로 다음 명령을 사용하여 user-mapping.xml 파일을 생성합니다.

nano /etc/guacamole/user-mapping.xml

아래와 같이 원격 창 및 Linux 서버 세부 정보를 추가합니다.

<user-mapping>
<authorize 
            username="admin"
            password="0f6e4a1df0cf5ee97c2066953bed21b2"
            encoding="md5">

        <!-- First authorized Remote connection -->
        <connection name="CentOS 8">
            <protocol>ssh</protocol>
            <param name="hostname">69.87.218.51</param>
            <param name="port">22</param>

        </connection>

        <connection name="Windows Server">
            <protocol>rdp</protocol>
            <param name="hostname">15.185.162.149</param>
            <param name="port">3389</param>
            <param name="username">administrator</param>

        </connection>

    </authorize>

</user-mapping>

파일을 저장하고 닫은 다음 Guacamole과 Tomcat 서비스를 모두 다시 시작하여 변경 사항을 적용합니다.

systemctl restart tomcat guacd

완료되면 다음 단계로 진행할 수 있습니다.

방화벽 구성

다음으로 방화벽을 통해 포트 4822 및 8080을 허용해야 합니다. 다음 명령으로 허용할 수 있습니다.

firewall-cmd --permanent --add-port=4822/tcp
firewall-cmd --permanent --add-port=8080/tcp

다음으로 방화벽을 다시 로드하여 변경 사항을 적용합니다.

firewall-cmd --reload

과카몰리 웹 UI에 액세스

이제 웹 브라우저를 열고 URL http://your-server-ip:8080/guacamole을 사용하여 Guacamole 웹 인터페이스에 액세스하십시오. 다음 화면이 표시됩니다.

관리자 사용자 이름, 암호를 제공하고 로그인 버튼을 클릭합니다. 다음 화면에 Guacamole 대시보드가 표시되어야 합니다.

위 화면에서 Windows와 Linux 서버를 모두 볼 수 있습니다. 를 클릭하여 원격 서버를 연결하고 관리할 수 있습니다.

결론

축하합니다! CentOS 8에 Guacamole 서버를 성공적으로 설치 및 구성했습니다. 이제 원격 서버를 Guacamole 서버에 추가하고 웹 브라우저를 통해 관리할 수 있습니다.