Guacamole: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Нет описания правки
 
Строка 4: Строка 4:


=== Установка Guacamole ===
=== Установка Guacamole ===
Установка необходимых пакетов:
 
# apt-get update
Необходимо установить пакеты:
# apt-get install guacd libguac-client-rdp libguac-client-ssh libguac-client-vnc libguac-client-telnet tomcat tomcat-webapps tomcat-admin-webapps tomcat-guacamole-webapps
* {{pkgL|guacd}} — сервер guacamole;
Будут установлены:
В зависимости от того, какие протоколы необходимо поддерживать, следует установить один или несколько пакетов libguac-client-* для обеспечения поддержки этих протоколов:
* guacd — сервер guacamole;
* {{pkgL|libguac-client-rdp}} — RDP;
В зависимости от того, какие протоколы вам требуется поддержка, вам потребуется установить один из пакетов libguac-client- * для обеспечения поддержки этих протоколов.
* {{pkgL|libguac-client-ssh}} — SSH;
* libguac-client-rdp — RDP;
* {{pkgL|libguac-client-vnc}} — VNC;
* libguac-client-ssh — SSH;
* {{pkgL|libguac-client-telnet}} — telnet.
* libguac-client-vnc — VNC;
 
* libguac-client-telnet — telnet;
Установка пакетов:
<syntaxhighlight lang="bash"># apt-get update
# apt-get install guacd libguac-client-rdp libguac-client-ssh libguac-client-vnc libguac-client-telnet tomcat tomcat-webapps tomcat-admin-webapps tomcat-guacamole-webapps</syntaxhighlight>
 
=== Настройка Guacamole ===
=== Настройка Guacamole ===
Добавляем в автозагрузку
Добавить в автозагрузку и запустить сервисы:
# systemctl enable tomcat.service guacd.service
<syntaxhighlight lang="bash"># systemctl enable --now tomcat.service guacd.service</syntaxhighlight>
Запускаем сервисы
 
# systemctl start tomcat.service guacd.service
После установки сервер будет доступен по адресу: '''ip_адрес:8080/guacamole'''
После сервер доступен по адресу: '''ip_адрес:8080/guacamole'''
 
==== Тонкая настройка Guacamole ====
Тонкая настройка Guacamole:
Создайте зашифрованный пароль (укажите вместо password ваш пароль)
 
# echo -n password | openssl md5
#Создать зашифрованный пароль (вместо '''password''' следует указать свой пароль):
# (stdin)= 5f4dcc3b5aa765d61d8327deb882cf99
#:<syntaxhighlight lang="bash"># echo -n password | openssl md5
Сохраните вывод зашифрованного пароля. Он пригодится при следующем этапе настройки доступных подключений. Отредактируйте файл {{path|/etc/guacamole/user-mapping.xml}}
(stdin)= 5f4dcc3b5aa765d61d8327deb882cf99</syntaxhighlight>
<br>Пример:
# Отредактировать файл {{path|/etc/guacamole/user-mapping.xml}}. Указать в нём пользователя и его зашифрованный пароль, а также настройки подключений. Например:
<syntaxhighlight lang="python">
#: <syntaxhighlight lang="python">
<user-mapping>
<user-mapping>
<!-- Per-user authentication and config information -->  
<!-- Per-user authentication and config information -->  
<!-- A user using md5 to hash the password guacadmin user and its md5 hashed password below is used to login to Guacamole Web UI-->  
<!-- A user using md5 to hash the password
<authorize username="admin"  
example below uses the md5 hash of "PASSWORD")-->  
password="5f4dcc3b5aa765d61d8327deb882cf99"  
    <authorize  
encoding="md5">  
            username="admin"
<!-- First authorized Remote connection -->  
            password="5f4dcc3b5aa765d61d8327deb882cf99"
<connection name="ssh AltS">  
            encoding="md5">
<protocol>ssh</protocol>  
 
<param name="hostname">192.168.1.43</param>  
        <!-- RDP connection -->
<param name="port">22</param>  
                <connection name="RDP SL">
</connection>  
            <protocol>rdp</protocol>
<!-- Second authorized remote connection -->  
            <param name="hostname">192.168.0.128</param>
<connection name="rdp AltS">
            <param name="port">3389</param>
<protocol>rdp</protocol>
            <param name="username">user</param>
<param name="hostname">192.168.1.43</param>  
            <param name="ignore-cert">true</param>
<param name="port">3389</param>  
        </connection>
<param name="username">test</param>  
 
<param name="ignore-cert">true</param>  
        <!-- SSH connection -->
</connection>  
        <connection name="ssh SL">
</authorize>
            <protocol>ssh</protocol>
            <param name="hostname">192.168.0.190</param>
            <param name="port">22</param>
          </connection>
        <!-- VNC authorized connection -->
        <connection name="VNC WORK">
            <protocol>vnc</protocol>
            <param name="hostname">192.168.0.120</param>
            <param name="port">5900</param>
            <param name="username">user</param>
            <param name="password">123</param>
        </connection>
  </authorize>
</user-mapping>
</user-mapping>
</syntaxhighlight>
</syntaxhighlight>
После изменения
#После внесения изменений в файл {{path|/etc/guacamole/user-mapping.xml}}, перезапустить сервис:
# systemctl restart guacd.service
#:<syntaxhighlight lang="bash"># systemctl restart guacd.service</syntaxhighlight>
 
{{Note|Т.к. tomcat, также как и [[ЦУС#Веб-интерфейс|веб-интерфейс ЦУС]], по умолчанию работает на порту 8080, то перед запуском tomcat необходимо, либо остановить службу ahttpd:
<syntaxhighlight lang="bash"># systemctl disable --now ahttpd</syntaxhighlight>
либо изменить порт 8080 в файле {{path|/etc/tomcat/server.xml}} на другой допустимый номер порта, например 8081:
<syntaxhighlight lang="ini"><Connector port="8081" protocol="HTTP/1.1"
              connectionTimeout="20000"
              redirectPort="8443" /></syntaxhighlight>
и перезапустить tomcat:
<syntaxhighlight lang="bash"># systemctl restart tomcat</syntaxhighlight>}}
 
== Подключение ==
 
Веб-интерфейс доступен по адресу: '''ip_адрес:8080/guacamole''':
 
[[Файл:Guacamole-01.png|Авторизация в веб-интерфейсе Guacamole]]
 
Доступные подключения:
 
[[Файл:Guacamole-02.png|Веб-интерфейс Guacamole]]
 
Пример подключения по ssh:
 
[[Файл:Guacamole-03.png|Пример подключения по ssh]]
 
Пример подключения по RDP (на удалённой системе, к которой происходит подключение, должен быть настроен [[Xrdp#Первоначальная_настройка_сервера_XRDP_на_сервере|XRDP-сервер]]):
 
[[Файл:Guacamole-04.png|Пример подключения по RDP]]
 
Пример подключения по VNC (на удалённой системе, к которой происходит подключение, должен быть настроен [[VNC|VNC-сервер]]):
 
[[Файл:Guacamole-05.png|Пример подключения по VNC]]


{{Category navigation|title=Удалённый доступ|category=Удалённый доступ|sortkey={{SUBPAGENAME}}}}
{{Category navigation|title=Удалённый доступ|category=Удалённый доступ|sortkey={{SUBPAGENAME}}}}

Текущая версия от 15:08, 16 февраля 2023

Guacamole — бесплатная и свободная программа с открытым исходным кодом, которая после установки на сервер и поднятия RDP-сервера предоставляет вам дистанционный доступ ко всем своим клиентским машинам через веб-интерфейс. То есть на ваш собственный компьютер, с которого вы удалённо администрируете клиентскими машинами, не нужно устанавливать никаких плагинов и стороннего программного обеспечения, всё работает по HTML5.

Установка

Установка Guacamole

Необходимо установить пакеты:

  • guacd — сервер guacamole;

В зависимости от того, какие протоколы необходимо поддерживать, следует установить один или несколько пакетов libguac-client-* для обеспечения поддержки этих протоколов:

Установка пакетов:

# apt-get update
# apt-get install guacd libguac-client-rdp libguac-client-ssh libguac-client-vnc libguac-client-telnet tomcat tomcat-webapps tomcat-admin-webapps tomcat-guacamole-webapps

Настройка Guacamole

Добавить в автозагрузку и запустить сервисы:

# systemctl enable --now tomcat.service guacd.service

После установки сервер будет доступен по адресу: ip_адрес:8080/guacamole

Тонкая настройка Guacamole:

  1. Создать зашифрованный пароль (вместо password следует указать свой пароль):
    # echo -n password | openssl md5
    (stdin)= 5f4dcc3b5aa765d61d8327deb882cf99
    
  2. Отредактировать файл /etc/guacamole/user-mapping.xml. Указать в нём пользователя и его зашифрованный пароль, а также настройки подключений. Например:
    <user-mapping>
    <!-- Per-user authentication and config information --> 
    <!-- A user using md5 to hash the password
    example below uses the md5 hash of "PASSWORD")--> 
        <authorize 
                username="admin"
                password="5f4dcc3b5aa765d61d8327deb882cf99"
                encoding="md5">
    
            <!-- RDP connection -->
                    <connection name="RDP SL">
                <protocol>rdp</protocol>
                <param name="hostname">192.168.0.128</param>
                <param name="port">3389</param>
                <param name="username">user</param>
                <param name="ignore-cert">true</param>
            </connection>
    
            <!-- SSH connection -->
            <connection name="ssh SL">
                <protocol>ssh</protocol>
                <param name="hostname">192.168.0.190</param>
                <param name="port">22</param>
               </connection>
            <!-- VNC authorized connection -->
            <connection name="VNC WORK">
                <protocol>vnc</protocol>
                <param name="hostname">192.168.0.120</param>
                <param name="port">5900</param>
                <param name="username">user</param>
                <param name="password">123</param>
            </connection>
       </authorize>
    </user-mapping>
    
  3. После внесения изменений в файл /etc/guacamole/user-mapping.xml, перезапустить сервис:
    # systemctl restart guacd.service
    
Примечание: Т.к. tomcat, также как и веб-интерфейс ЦУС, по умолчанию работает на порту 8080, то перед запуском tomcat необходимо, либо остановить службу ahttpd:
# systemctl disable --now ahttpd

либо изменить порт 8080 в файле /etc/tomcat/server.xml на другой допустимый номер порта, например 8081:

<Connector port="8081" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

и перезапустить tomcat:

# systemctl restart tomcat


Подключение

Веб-интерфейс доступен по адресу: ip_адрес:8080/guacamole:

Авторизация в веб-интерфейсе Guacamole

Доступные подключения:

Веб-интерфейс Guacamole

Пример подключения по ssh:

Пример подключения по ssh

Пример подключения по RDP (на удалённой системе, к которой происходит подключение, должен быть настроен XRDP-сервер):

Пример подключения по RDP

Пример подключения по VNC (на удалённой системе, к которой происходит подключение, должен быть настроен VNC-сервер):

Пример подключения по VNC