CentOS 8에서 Guacamole 원격 데스크톱 설치 및 사용
이 페이지에서
- 전제 조건
- 시작하기\n
- 자바 설치
- 톰캣 설치
- Tomcat용 Systemd 서비스 파일 만들기
- Apache Guacamole 설치
- Guacamole 클라이언트 설치
- 과카몰리 구성
- 방화벽 구성\n
- Guacamole 웹 UI 액세스
- 결론
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 서버에 추가하고 웹 브라우저를 통해 관리할 수 있습니다.