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

Установите гуакамоле для удаленного доступа к Linux/Windows в Ubuntu


Как системный администратор, вы можете оказаться (сегодня или в будущем) работающим в среде, где Windows и Linux сосуществуют.

Ни для кого не секрет, что некоторые крупные компании предпочитают (или вынуждены) запускать некоторые из своих производственных сервисов на серверах Windows, а другие — на серверах Linux.

Если это ваш случай, вы примете это руководство с распростертыми объятиями (в противном случае обязательно добавьте его в свои закладки).

В этой статье мы познакомим вас с гуакамоле, шлюзом удаленного рабочего стола на базе Tomcat, который необходимо установить только на центральном сервере.

Гуакамоле предоставит веб-панель управления, которая позволит вам быстро переключаться с одного компьютера на другой – и все это в одном окне веб-браузера.

Тестовая среда

В этой статье мы использовали следующие машины. Мы установим Гуакамоле в систему Ubuntu и будем использовать его для доступа к системе Windows 10 через Протокол удаленного рабочего стола ( RDP) и поле RHEL, использующее сетевой протокол SSH:

Guacamole server: Ubuntu 20.04 - IP 192.168.0.100
Remote SSH box: RHEL 8 – IP 192.168.0.18
Remote desktop box: Windows 10 – IP 192.168.0.19

Тем не менее, давайте начнем.

Установка сервера гуакамоле в Ubuntu

1. Перед установкой гуакамоле вам необходимо сначала позаботиться о его зависимостях.

sudo apt update
sudo apt install -y gcc vim curl wget g++ libcairo2-dev libjpeg-turbo8-dev libpng-dev \
libtool-bin libossp-uuid-dev libavcodec-dev libavutil-dev libswscale-dev build-essential \
libpango1.0-dev libssh2-1-dev libvncserver-dev libtelnet-dev freerdp2-dev libwebsockets-dev \
libssl-dev libvorbis-dev libwebp-dev tomcat9 tomcat9-admin tomcat9-user

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

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

3. Скомпилируйте программное обеспечение.

cd guacamole-server-1.3.0/
./configure

Как и следовало ожидать, configure проверит вашу систему на наличие необходимых зависимостей и поддерживаемых протоколов связи (как видно из выделенного квадрата, Протокол удаленного рабочего стола ). (RDP) и SSH поддерживаются установленными ранее зависимостями).

Если все идет так, как ожидалось, вы должны увидеть это после завершения (в противном случае убедитесь, что вы установили все необходимые зависимости):

Как следует из последней строки на изображении выше, запустите make и make install, чтобы скомпилировать программу:

make 
sudo make install

4. Обновите кэш установленных библиотек.

sudo ldconfig 

и нажмите Ввод.

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

После выполнения вышеуказанных шагов сервер гуакамоле будет установлен. Следующие инструкции помогут вам настроить guacd (прокси-демон, который интегрирует Javascript с такими протоколами связи, как RDP или SSH) и guacamole.war (клиент). компонент, из которого состоит окончательное приложение HTML5, которое будет вам представлено.

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

Чтобы загрузить клиент, выполните следующие действия:

5. Загрузите архив веб-приложения и измените его имя на guacamole.war.

Примечание. В зависимости от вашего дистрибутива каталог библиотек Tomcat может располагаться по адресу /var/lib/tomcat.

cd /var/lib/tomcat9/
sudo wget https://dlcdn.apache.org/guacamole/1.3.0/binary/guacamole-1.3.0.war
sudo mv guacamole-1.3.0.war webapps/guacamole.war

6. Создайте файл конфигурации (/etc/guacamole/guacamole.properties). Этот файл содержит инструкции по подключению гуакамоле к guacd:

sudo mkdir /etc/guacamole
sudo mkdir /usr/share/tomcat9/.guacamole
sudo nano /etc/guacamole/guacamole.properties

Вставьте следующее содержимое в /etc/guacamole/guacamole.properties. Обратите внимание, что мы ссылаемся на файл, который создадим на следующем шаге (/etc/guacamole/user-mapping.xml):

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

И создайте символическую ссылку, чтобы Tomcat мог прочитать файл:

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

7. Гуакамоле использует user-mapping.xml. Создайте этот файл, чтобы определить, каким пользователям разрешено проходить аутентификацию в веб-интерфейсе Гуакамоле (между <authorize>) и какие соединения они могут использовать (между тегами <connection>):

sudo nano /etc/guacamole/user-mapping.xml

Следующее сопоставление пользователей предоставляет доступ к веб-интерфейсу гуакамоле пользователю tecmint с паролем tecmint01. Затем внутри SSH-соединения нам нужно указать действительное имя пользователя для входа в поле RHEL (вам будет предложено ввести соответствующий пароль, когда Гуакамоле инициирует соединение).

В случае с окном Windows 10 в этом нет необходимости, поскольку нам будет представлен экран входа в систему через RDP.

Чтобы получить хэш md5 пароля tecmint01, введите следующую команду:

printf '%s' "tecmint01" | md5sum

Затем вставьте вывод команды в поле пароля внутри тегов <authorize>:

<user-mapping>
        <authorize 
                username="tecmint" 
                password="8383339b9c90775ac14693d8e620981f" 
                encoding="md5">
                <connection name="RHEL 8">
                        <protocol>ssh</protocol>
                        <param name="hostname">192.168.0.18</param>
                        <param name="port">22</param>
                        <param name="username">gacanepa</param>
                </connection>
                <connection name="Windows 10">
                        <protocol>rdp</protocol>
                        <param name="hostname">192.168.0.19</param>
                        <param name="port">3389</param>
                </connection>
        </authorize>
</user-mapping>

Как и в случае со всеми файлами, содержащими конфиденциальную информацию, важно ограничить разрешения и изменить владельца файла user-mapping.xml:

sudo chmod 600 /etc/guacamole/user-mapping.xml
sudo chown tomcat:tomcat /etc/guacamole/user-mapping.xml

Запустите Tomcat и guacd.

sudo service tomcat9 start
sudo /usr/local/sbin/guacd &

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

8. Чтобы получить доступ к веб-интерфейсу гуакамоле, запустите браузер и укажите в нем http://server:8080/guacamole, где сервер — это имя хоста или IP-адрес вашего сервер (в нашем случае это http://192.168.0.100:8080/guacamole) и войдите в систему, используя данные ранее (имя пользователя: tecmint, пароль: tecmint01):

9. После нажатия кнопки «Войти» вы попадете в административный интерфейс, где увидите список подключений, к которым пользователь tecmint имеет доступ, согласно user- маппинг.xml:

10. Нажмите на поле RHEL 8, чтобы войти в систему как gacanepa (имя пользователя, указанное в определении соединения).

Обратите внимание, что в качестве источника подключения установлено значение 192.168.0.100 (IP-адрес сервера гуакамоле), независимо от IP-адреса компьютера, который вы используете для открытия веб-интерфейса:

11. Если вы хотите закрыть соединение, введите exit и нажмите Enter. Вам будет предложено вернуться в главный интерфейс (Домой), повторно подключиться или выйти из Гуакамоле:

12. Теперь пришло время попробовать подключение к удаленному рабочему столу в Windows 10:

Поздравляем! Теперь вы можете получить доступ к компьютеру с Windows 10 и серверу RHEL 8 из веб-браузера.

Краткое содержание

В этой статье мы объяснили, как установить и настроить Гуакамоле, чтобы разрешить доступ к удаленным машинам через RDP и SSH. На официальном веб-сайте представлена обширная документация, которая поможет вам настроить доступ с использованием других протоколов, таких как VNC, и других механизмов аутентификации, например, на основе БД…

Как всегда, не стесняйтесь, напишите нам, если у вас есть какие-либо вопросы или предложения по поводу этой статьи. Мы также с нетерпением ждем ваших историй успеха.