Поиск по сайту:

Установите и используйте удаленный рабочий стол Guacamole на CentOS 8


На этой странице

  1. Предпосылки
  2. Начало работы
  3. Установить Java
  4. Установить Tomcat
  5. Создание служебного файла Systemd для Tomcat
  6. Установите Apache Guacamole
  7. Установить клиент гуакамоле
  8. Настроить гуакамоле
  9. Настройка брандмауэра
  10. Доступ к веб-интерфейсу гуакамоле
  11. Заключение

Apache Guacamole — это бесплатное веб-приложение для удаленного рабочего стола с открытым исходным кодом и без клиента, которое поддерживает стандартные протоколы, такие как VNC, RDP и SSH. Он позволяет получить доступ к ПК с Linux и Windows из веб-браузера через RDP, SSH или VNC. Он безклиентский, поэтому вам не нужно устанавливать какие-либо плагины или клиентское программное обеспечение. Он состоит из двух компонентов Guacamole Server и Guacamole Client. Сервер Guacamole предоставляет серверные и собственные компоненты, необходимые для подключения к удаленному ПК, в то время как клиент Guacamole представляет собой веб-приложение HTML 5, используемое для подключения к удаленному ПК.

В этом руководстве мы покажем вам, как установить сервер Guacamole на CentOS 8.

Предпосылки

  • Сервер под управлением CentOS 8.
  • Пароль root настраивается на сервере.

Начиная

Во-первых, вам нужно будет установить некоторые необходимые пакеты на ваш сервер. Вы можете установить их все с помощью следующей команды:

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

Далее вам нужно будет скомпилировать библиотеку telnet в вашей системе.

Сначала загрузите его с помощью следующей команды:

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

После установки можно переходить к следующему шагу.

Установить Java

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/

Как только вы закончите, вы можете перейти к следующему шагу.

Создайте служебный файл Systemd для Tomcat

Далее вам нужно будет создать служебный файл systemd для Tomcat. Вы можете создать его с помощью следующей команды:

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.

Установите Apache Гуакамоле

Сначала загрузите последнюю версию гуакамоле с помощью следующей команды:

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

Вы можете проверить статус гуакамоле с помощью следующей команды:

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.

Установить клиент гуакамоле

Затем создайте каталог для гуакамоле и загрузите клиентский файл гуакамоле с помощью следующей команды:

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

Затем создайте символическую ссылку файла guacamole.war на каталог /usr/share/tomcat:

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

Затем установите домашний каталог гуакамоле с помощью следующей команды:

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

Затем создайте файл конфигурации гуакамоле с помощью следующей команды:

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

Настроить гуакамоле

Затем вам нужно будет создать файл сопоставления пользователей гуакамоле, чтобы определить удаленный сервер, к которому вы хотите подключиться из гуакамоле.

Сначала сгенерируйте секретный пароль с помощью следующей команды:

echo -n your-password | openssl md5

Вы должны увидеть следующий вывод:

(stdin)= 0f6e4a1df0cf5ee97c2066953bed21b2

Затем создайте файл user-mapping.xml с помощью следующей команды:

nano /etc/guacamole/user-mapping.xml

Добавьте информацию об удаленном сервере Windows и 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

Затем перезагрузите firewalld, чтобы применить изменения:

firewall-cmd --reload

Доступ к веб-интерфейсу гуакамоле

Теперь откройте веб-браузер и войдите в веб-интерфейс гуакамоле, используя URL-адрес http://your-server-ip:8080/guacamole. Вы должны увидеть следующий экран:

Укажите имя пользователя и пароль администратора и нажмите кнопку «Войти». Вы должны увидеть панель управления гуакамоле на следующем экране:

На приведенном выше экране вы можете видеть серверы Windows и Linux. Вы можете нажать для подключения и управления удаленными серверами.

Заключение

Поздравляем! вы успешно установили и настроили сервер гуакамоле в CentOS 8. Теперь вы можете добавить дополнительные удаленные серверы к своему серверу гуакамоле и управлять ими через веб-браузер.