GNU/Linux >> Linux の 問題 >  >> Rocky Linux

RockyLinux8にApacheGuacamoleリモートデスクトップをインストールして使用する方法

Apache Guacamoleは、無料のオープンソースのクライアントレスリモートデスクトップゲートウェイです。 SSH、RDP、VNCなどの標準プロトコルをサポートしています。動作するためにサードパーティのプラグインやクライアントは必要ありません。 Webベースのゲートウェイを使用してマシンにアクセスできます。プロキシサーバーの背後に配置して、世界中のどこからでもサーバーにアクセスできるようにすることができます。

ワカモレは2つのコンポーネントで構成されています:

  • guacamole-server Guacamoleがリモートデスクトップに接続するために必要なすべてのネイティブサーバー側コンポーネントが含まれています。 guacd は、Guacamoleサーバー上で実行され、ユーザー接続を受け入れてから、それらをリモートデスクトップに接続するプロキシデーモンです。
  • guacamole-client ユーザーがデスクトップに接続できるWebアプリケーションを構成するGuacamoleのすべてのJavaおよびJavascriptコンポーネントが含まれています。

このチュートリアルでは、RockyLinux8ベースのサーバーにApacheGuacamoleをインストールして使用する方法を学習します。また、それを使用してリモートデスクトップに接続する方法についても学習します。ソースコードからビルドしてGuacamoleをインストールします。

前提条件
  • 2GB以上のRAMと2つのCPUコアを搭載したRockyLinux8を実行しているサーバー。

  • サーバーを指すヘルプデスクのドメイン名。チュートリアルでは、uvdesk.example.comを使用します ドメイン。

  • sudo権限を持つ非rootベースのユーザー。

  • すべてが更新されていることを確認してください。

    $ sudo dnf update
    
  • 基本的なユーティリティパッケージをインストールします。それらのいくつかはすでにインストールされている可能性があります。

    $ sudo dnf install wget curl nano unzip yum-utils -y
    
ステップ1-ファイアウォールを構成する

最初のステップは、ファイアウォールを構成することです。 RockyLinuxはFirewalledFirewallを使用しています。ファイアウォールのステータスを確認してください。

$ sudo firewall-cmd --state
running

ファイアウォールはさまざまなゾーンで機能し、パブリックゾーンがデフォルトで使用されます。ファイアウォールでアクティブなすべてのサービスとポートを一覧表示します。

$ sudo firewall-cmd --permanent --list-services

次の出力が表示されます。

cockpit dhcpv6-client ssh

HTTPおよびHTTPSポートを許可します。

$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https

ファイアウォールのステータスを再確認してください。

$ sudo firewall-cmd --permanent --list-services

同様の出力が表示されるはずです。

cockpit dhcpv6-client http https ssh

ファイアウォールをリロードして変更を有効にします。

$ sudo firewall-cmd --reload
ステップ2-ライブラリをインストールする

ライブラリをインストールする前に、EPELリポジトリをインストールし、PowerToolsリポジトリを有効にする必要があります。

$ sudo dnf install epel-release -y
$ sudo dnf config-manager --set-enabled powertools

最初のステップは、Guacamoleのビルドに必要なライブラリをインストールすることです。必要なライブラリをインストールします。

$ sudo dnf install cairo-devel libjpeg-turbo-devel libjpeg-devel libpng-devel libtool libuuid-devel uuid-devel make cmake

上記の依存関係は必須の依存関係です。つまり、これらの依存関係がないと、Guacamoleを構築できません。オプションの依存関係をインストールして、さまざまなプロトコルや機能のサポートを追加できます。

ただし、最初に、RPMFusion Freeリポジトリを有効にする必要があります。これには、パッケージffmpeg-develが含まれているためです。 。

$ sudo dnf install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm

オプションの依存関係をインストールします。

$ sudo dnf install ffmpeg-devel freerdp-devel pango-devel libssh2-devel libtelnet-devel libvncserver-devel libwebsockets-devel pulseaudio-libs-devel openssl-devel compat-openssl10 libvorbis-devel libwebp-devel libgcrypt-devel
ステップ3-ApacheTomcatをインストールする

このチュートリアルでは、Apache Tomcat 9をインストールします。これには、Java8以降が必要です。

Javaのインストール

Javaプラットフォームのオープンソース実装であるOpenJDK11をインストールします。

次のコマンドを実行して、OpenJDKをインストールします。

$ sudo dnf install java-11-openjdk-devel

インストールを確認します。

$ java -version
openjdk 11.0.14 2022-01-18 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.14+9-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.14+9-LTS, mixed mode, sharing)
Tomcatユーザーの作成

次に、Tomcatサービスのユーザーを作成します。 /opt/tomcatを設定します ホームディレクトリとして。

$ sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat
Tomcatをダウンロード

Tomcat v10の最新バージョンは、ダウンロードページからダウンロードできます。このチュートリアルを書いている時点では、v9.0.59が利用可能な最新バージョンです。 Tomcatをダウンロードする前に、最新バージョンを確認してください。

wgetを使用する Tomcatをダウンロードします。

$ TVERSION=9.0.59
$ wget https://dlcdn.apache.org/tomcat/tomcat-9/v${TVERSION}/bin/apache-tomcat-${TVERSION}.tar.gz
>

ファイルを/opt/tomcatに抽出します ディレクトリ。

$ sudo tar -xf apache-tomcat-${TVERSION}.tar.gz --strip-components=1 -C /opt/tomcat/

ディレクトリの所有権をTomcatユーザーに変更します。

$ sudo chown -R tomcat:tomcat /opt/tomcat

Systemdユニットファイルを作成し、Tomcatを起動します

ファイル/etc/systemd/system/tomcat.serviceを作成して開きます 編集用。

$ sudo nano /etc/systemd/system/tomcat.service

次のコードを貼り付けます。

[Unit]
Description=Apache Tomcat 9 Servlet container
Wants=network.target
After=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_BASE=/opt/tomcat"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
Restart=always

[Install]
WantedBy=multi-user.target

Ctrl + Xを押してファイルを保存します Yと入力します 保存するように求められたら。

サービスデーモンをリロードして、Tomcatサービスを有効にします。

$ sudo systemctl daemon-reload

Tomcatサービスを有効にして開始します。

$ sudo systemctl enable tomcat --now

サービスステータスを確認してください。

$ sudo systemctl status tomcat
? tomcat.service - Apache Tomcat 9 Servlet container
   Loaded: loaded (/etc/systemd/system/tomcat.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2022-03-09 09:48:38 UTC; 8s ago
  Process: 25308 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)
 Main PID: 25315 (java)
    Tasks: 29 (limit: 11412)
   Memory: 154.9M
   CGroup: /system.slice/tomcat.service
           ??25315 /usr/lib/jvm/jre/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties ..

Mar 09 09:48:38 guacamole systemd[1]: Starting Apache Tomcat 9 Servlet container...
Mar 09 09:48:38 guacamole systemd[1]: Started Apache Tomcat 9 Servlet container.
ステップ4-グアカモーレをダウンロードしてビルドする

ワカモレの最新の安定バージョンは、そのWebサイトから入手できます。このチュートリアルを書いている時点で、利用可能な最新バージョンは1.4.0でした。 Guacamoleのソースコードをダウンロードします。

$ GVERSION=1.4.0
$ wget https://downloads.apache.org/guacamole/${GVERSION}/source/guacamole-server-${GVERSION}.tar.gz

アーカイブを抽出し、新しく作成されたディレクトリに切り替えます。

$ tar -xzf guacamole-server-${GVERSION}.tar.gz
$ cd guacamole-server-${GVERSION}/

configureを実行します 使用可能なライブラリを判別し、ビルドするコンポーネントを選択するコマンド。

$ ./configure --with-systemd-dir=/etc/systemd/system/

ディレクトリ/etc/systemd/system/ ビルドプロセス中に起動スクリプトをインストールして、起動時に自動的に起動するようにGuacamoleを構成します。

正常に完了すると、次の出力が得られます。

checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
...

------------------------------------------------
guacamole-server version 1.4.0
------------------------------------------------

   Library status:

     freerdp2 ............ yes
     pango ............... yes
     libavcodec .......... yes
     libavformat.......... yes
     libavutil ........... yes
     libssh2 ............. yes
     libssl .............. yes
     libswscale .......... yes
     libtelnet ........... yes
     libVNCServer ........ yes
     libvorbis ........... yes
     libpulse ............ yes
     libwebsockets ....... yes
     libwebp ............. yes
     wsock32 ............. no

   Protocol support:

      Kubernetes .... yes
      RDP ........... yes
      SSH ........... yes
      Telnet ........ yes
      VNC ........... yes

   Services / tools:

      guacd ...... yes
      guacenc .... yes
      guaclog .... yes

   FreeRDP plugins: /usr/lib64/freerdp2
   Init scripts: no
   Systemd units: /etc/systemd/system/

Type "make" to compile guacamole-server.

一部のライブラリがインストールされていない場合は、noと表示されます。 yesの代わりに 出力で。ただし、重要なライブラリが欠落している場合、コマンドは失敗します。その他の構成オプションを確認するには、./configure --helpを実行します コマンド。

次のコマンドを使用して、Guacamoleサーバーをコンパイルしてインストールします。

$ make && sudo make install

次のコマンドを実行して、インストールされているライブラリのシステムのキャッシュを更新します。

$ sudo ldconfig

サービスデーモンをリロードします。

$ sudo systemctl daemon-reload

Guacamoleサービスを有効にして開始します。

$ sudo systemctl enable guacd --now

サービスのステータスを確認します。

$ sudo systemctl status guacd
? guacd.service - Guacamole Server
   Loaded: loaded (/etc/systemd/system/guacd.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2022-03-10 09:13:41 UTC; 7s ago
     Docs: man:guacd(8)
 Main PID: 85349 (guacd)
    Tasks: 1 (limit: 11181)
   Memory: 10.8M
   CGroup: /system.slice/guacd.service
           ??85349 /usr/local/sbin/guacd -f

Mar 10 09:13:41 guacamole systemd[1]: Started Guacamole Server.
Mar 10 09:13:41 guacamole guacd[85349]: Guacamole proxy daemon (guacd) version 1.4.0 started
Mar 10 09:13:41 guacamole guacd[85349]: guacd[85349]: INFO:        Guacamole proxy daemon (guacd) version 1.4.0 started
Mar 10 09:13:41 guacamole guacd[85349]: guacd[85349]: INFO:        Listening on host ::1, port 4822
Mar 10 09:13:41 guacamole guacd[85349]: Listening on host ::1, port 4822

ステップ5-Guacamoleクライアントをインストールします

サーバーをインストールしたので、次のステップはクライアントをインストールすることです。

Guacamoleの構成ディレクトリを作成します。

$ sudo mkdir /etc/guacamole

Guacamoleサーバーとは異なり、Guacamoleクライアントはソースコードとバイナリ形式で利用できます。チュートリアルでは、バイナリをダウンロードします。ただし、ソースからクライアントを構築することを選択できます。

ウェブサイトからGuacamoleクライアントバイナリをダウンロードします。

$ sudo wget https://downloads.apache.org/guacamole/${GVERSION}/binary/guacamole-${GVERSION}.war -O /etc/guacamole/guacamole.war

上記のコマンドは、Guacamoleバイナリファイルをダウンロードして/etc/guacamoleにコピーします。 ディレクトリ。

クライアントが機能するには、Tomcatのディレクトリ($CATALINA_HOME/webapps/)からデプロイする必要があります。 。ステップ3では、/opt/tomcatを設定します $CATALINA_HOMEとして 。

次のコマンドを実行して、/etc/guacamole/guacamole.warからシンボリックリンクを作成します Tomcatwebappsディレクトリに移動します。

$ sudo ln -s /etc/guacamole/guacamole.war /opt/tomcat/webapps/

アプリの権限をtomcatに変更します ユーザー。

$ sudo chown -R tomcat:tomcat /opt/tomcat/webapps

/etc/guacamole/guacd.confにWebアプリケーション構成ファイルを作成します 。

$ sudo nano /etc/guacamole/guacd.conf

次のコードを貼り付けます。 your_server_IPを置き換えます サーバーのパブリックIPアドレスを使用します。

#
# guacd configuration file
#

[daemon]

#pid_file = /var/run/guacd.pid
log_level = info

[server]

bind_host = your_server_IP
bind_port = 4822

#
# The following parameters are valid only if
# guacd was built with SSL support.
#

# [ssl]

# server_certificate = /etc/ssl/certs/guacd.crt
# server_key = /etc/ssl/private/guacd.key

Ctrl + Xを押してファイルを保存します Yと入力します 保存するように求められたら。

GuacamoleサーバーとTomcatを再起動して、変更を適用します。

$ sudo systemctl restart tomcat guacd
ステップ6-MySQLのインストールと構成

Apache Guacamoleは、さまざまなタイプの認証方法を提供します。テストの目的では、単純なパスワードベースの認証で十分です。ただし、実稼働環境では、より強力で優れた認証方法を実装する必要があります。ここでは、MySQLを使用してデータベースベースの認証を実装します。

MySQLをインストールします。

$ sudo dnf install mysql-server

MySQLサービスを有効にして開始します。

$ sudo systemctl enable mysqld --now

安全なMySQLのインストール。

$ sudo mysql_secure_installation

最初のステップとして、MySQLパスワードの強度をテストするために使用できるValidatePasswordPluginをセットアップするかどうかを尋ねられます。 Yを選択します 続行します。次のステップで、パスワード検証レベルを選択するように求められます。 2を選択します これは最強のレベルであり、パスワードは8文字以上で、大文字、小文字、数字、特殊文字が混在している必要があります。

Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No: Y

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2

次のステップでrootパスワードを選択するように求められます。パスワード検証プラグインの要件を満たす強力なパスワードを選択してください。次のステップでは、選択したパスワードで続行するかどうかを尋ねられます。 yを押します 続行します。

Please set the password for root here.

New password:

Re-enter new password:

Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y

Yを押します 次にENTER 次のすべてのプロンプトのキーを押して、匿名ユーザーとテストデータベースを削除し、rootログインを無効にして、新しく設定されたルールをロードします。

...
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Success.
...
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Success.
...
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
 - Dropping test database...
Success.
 - Removing privileges on test database...
Success.
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
...
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
Success.
All done!

MySQLシェルに入ります。ルートパスワードを入力して続行します。

$ mysql -u root -p

guacamole_userを作成します ユーザー。パスワードが前に設定した要件を満たしていることを確認してください。

mysql> CREATE USER 'guacamole_user'@'localhost' IDENTIFIED BY 'Your_password2';

guacamole_dbを作成します データベース。

mysql> CREATE DATABASE guacamole_db;

guacamole_dbに対するユーザー権限を付与します データベース。

mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON guacamole_db.* TO 'guacamole_user'@'localhost';

シェルを終了します。

mysql> exit
ステップ7-ApacheGuacamoleを構成する

Guacamoleの構成ディレクトリは、変数GUACAMOLE_HOMEによって定義されます。 。すべての構成ファイル、拡張子などは、このディレクトリにあります。 /etc/guacamole/guacamole.properties ファイルには、Guacamoleとその拡張機能のすべての構成と設定が保存されます。

拡張機能とライブラリには、追加のディレクトリが必要です。それらを作成します。

$ sudo mkdir /etc/guacamole/{extensions,lib}

Guacamoleホーム変数を設定し、/etc/default/tomcatに保存します 構成ファイル。

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

ApacheGuacamoleデータベース認証を構成する

前の手順で、Guacamoleのデータベースをすでに設定しました。構成を完了するには、GuacamoleJDBCオーセンティケータープラグインとMySQLJavaConnectorライブラリをダウンロードする必要があります。

GuacamoleJDBCプラグインをそのWebサイトからダウンロードします。

$ cd ~
$ wget https://downloads.apache.org/guacamole/${GVERSION}/binary/guacamole-auth-jdbc-${GVERSION}.tar.gz

プラグインを/etc/guacamole/extensionsに抽出します ディレクトリ。

$ tar -xf guacamole-auth-jdbc-${GVERSION}.tar.gz
$ sudo mv guacamole-auth-jdbc-${GVERSION}/mysql/guacamole-auth-jdbc-mysql-${GVERSION}.jar /etc/guacamole/extensions/

次のステップは、SQLスキーマをMySQLデータベースにインポートすることです。抽出したプラグインディレクトリに切り替えます。

$ cd guacamole-auth-jdbc-${GVERSION}/mysql/schema

スキーマファイルをMySQLにインポートします。

$ cat *.sql | mysql -u root -p guacamole_db

MySQLJavaコネクタをダウンロードします。プラットフォームに依存しないアーカイブファイルを取得します。このチュートリアルを書いている時点で、利用可能な最新バージョンは8.0.28です。

$ cd ~
$ wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.28.tar.gz

アーカイブを抽出し、その内容を/etc/guacamole/libにコピーします ディレクトリ。

$ tar -xf mysql-connector-java-8.0.28.tar.gz
$ sudo mv mysql-connector-java-8.0.28/mysql-connector-java-8.0.28.jar /etc/guacamole/lib/

Guacamoleプロパティファイルを構成する

/etc/guacamole/guacamole.propertiesを作成します ファイルを開いて編集します。

$ sudo nano /etc/guacamole/guacamole.properties

次のコードを貼り付けます。 your_server_ipを置き換えます サーバーのパブリックIPアドレスを使用します。

guacd-hostname: your_server_ip
guacd-port:     4822

# MySQL properties
mysql-hostname: localhost
mysql-database: guacamole_db
mysql-username: guacamole_user
mysql-password: Your_password2

Ctrl + Xを押してファイルを保存します Yと入力します 保存するように求められたら。

Guacamole構成ディレクトリをTomcatサーブレットディレクトリにリンクします。

$ sudo ln -s /etc/guacamole /opt/tomcat/.guacamole

Tomcatを再起動して、データベース認証を有効にします。 guacdを再起動する必要はありません これは、Webアプリケーションから完全に独立しており、guacamole.propertiesを処理しないためです。 または何らかの方法でデータベース認証。

$ sudo systemctl restart tomcat
ステップ8-SSLをインストールする

Let's Encryptを使用してSSL証明書をインストールするには、Certbotツールをインストールする必要があります。 Certbotには、インストールにEPELリポジトリが必要ですが、以前にインストール済みであるため、直接インストールを続行できます。

次のコマンドを実行して、Certbotをインストールします。

$ sudo dnf install certbot

SSL証明書を生成します。

$ sudo certbot certonly --standalone --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d guacamole.example.com

上記のコマンドは、証明書を/etc/letsencrypt/live/guacamole.example.comにダウンロードします。 サーバー上のディレクトリ。

Diffie-Hellmanグループを生成します 証明書。

$ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

Let'sEncryptの自動更新用のチャレンジWebルートディレクトリを作成します。

$ sudo mkdir -p /var/lib/letsencrypt

Cronジョブを作成してSSLを更新します。証明書を確認し、必要に応じて更新するために毎日実行されます。そのためには、まず、ファイル/etc/cron.daily/certbot-renewを作成します。 開いて編集します。

$ sudo nano /etc/cron.daily/certbot-renew

次のコードを貼り付けます。

#!/bin/sh
certbot renew --cert-name guacamole.example.com --webroot -w /var/lib/letsencrypt/ --post-hook "systemctl reload nginx"

Ctrl + Xを押してファイルを保存します Yと入力します プロンプトが表示されたら。

タスクファイルの権限を変更して実行可能にします。

$ sudo chmod +x /etc/cron.daily/certbot-renew

ステップ9-Nginxをリバースプロキシとしてインストールして構成する

リバースプロキシ接続用にTomcatを構成する

Nginxをインストールする前に、Nginxリバースプロキシによって提供されるリモートIPアドレスを通過するようにTomcatを構成する必要があります。

/opt/tomcat/conf/server.xmlを開きます 編集用のファイル。

$ sudo nano /opt/tomcat/conf/server.xml

ファイル内で次の行を見つけます。

<Host name="localhost"  appBase="webapps" 
            unpackWARs="true" autoDeploy="true">

その下に追加のコードを貼り付けて行を変更すると、次のようになります。

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <Valve className="org.apache.catalina.valves.RemoteIpValve"
               internalProxies="127.0.0.1"
               remoteIpHeader="x-forwarded-for"
               remoteIpProxiesHeader="x-forwarded-by"
               protocolHeader="x-forwarded-proto" />

Ctrl + Xを押してファイルを保存します Yと入力します プロンプトが表示されたら。

Nginxをインストール

Rocky Linux 8.5には、最新の安定バージョンのNginxが付属しています。次のコマンドを使用してインストールします。

$ sudo dnf module install nginx:1.20

インストールを確認します。

$ nginx -v
nginx version: nginx/1.20.1

Nginxサービスを有効にします。

$ sudo systemctl enable nginx

ファイル/etc/nginx/conf.d/guacamole.confを作成して開きます 編集用。

$ sudo nano /etc/nginx/conf.d/guacamole.conf

次のコードを貼り付けます。

server {
    listen       443 ssl http2;
    listen       [::]:443 ssl http2;
    server_name  guacamole.example.com;

    access_log  /var/log/nginx/guacamole.access.log;
    error_log   /var/log/nginx/guacamole.error.log;
    
    # SSL
    ssl_certificate      /etc/letsencrypt/live/guacamole.example.com/fullchain.pem;
    ssl_certificate_key  /etc/letsencrypt/live/guacamole.example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/guacamole.example.com/chain.pem;
    ssl_session_timeout  5m;
    ssl_session_cache shared:MozSSL:10m;
    ssl_session_tickets off;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
    ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1;
    ssl_stapling on;
    ssl_stapling_verify on;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;
    resolver 8.8.8.8;

    location / {
      proxy_pass http://127.0.0.1:8080/guacamole/;
      proxy_buffering off;
      proxy_http_version 1.1;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection $http_connection;
      client_max_body_size 1g;
      access_log off;
  }
}
# enforce HTTPS
server {
    listen       80;
    listen       [::]:80;
    server_name  guacamole.example.com;
    return 301   https://$host$request_uri;
}

Ctrl + Xを押してファイルを保存します Yと入力します 終了したらプロンプトが表示されたら。

ファイル/etc/nginx/nginx.confを開きます 編集用。

$ sudo nano /etc/nginx/nginx.conf

include /etc/nginx/conf.d/*.conf;の行の前に次の行を追加します 。

server_names_hash_bucket_size  64;

Ctrl + Xを押してファイルを保存します Yと入力します プロンプトが表示されたら。

Nginx構成ファイルの構文を確認します。

$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Nginxがネットワーク接続を行えるようにSELinux権限を修正します。

$ sudo setsebool -P httpd_can_network_connect 1

Nginxサービスを開始して、新しい構成を有効にします。

$ sudo systemctl start nginx

Tomcatサーバーを再起動して、構成の変更を適用します。

$ sudo systemctl restart tomcat

ステップ10-グアカモーレへのアクセス

URL https://guacamole.example.comを開きます ブラウザで、次の画面が表示されます。

guacadminと入力します ユーザー名およびguacadminとして パスワードとして、ログインをクリックします 続行します。

新しい管理者ユーザーを作成する

セキュリティ上の理由から、新しいユーザーを作成し、既存のユーザーを削除する必要があります。これを行うには、guacadminをクリックします 右上にある[設定]をクリックします ドロップダウンメニューからのメニュー。

ユーザーに切り替えます タブをクリックし、新規ユーザーをクリックします ボタンをクリックして開始します。

詳細を入力し、すべての権限にチェックマークを付けます。

保存をクリックします 終わった時に。 guacadminからログアウトします ユーザーを作成し、新しく作成したユーザーを使用して再度ログインします。

ユーザーの画面に戻ります。 guacadminを選択します ユーザーが編集して削除をクリックします 下部にあるボタンをクリックして、ユーザーを削除します。

ステップ11-ワカモレの使用方法

このチュートリアルでは、SSHプロトコルを使用してサーバーに接続する方法を示します。

設定に移動します Guacamoleのメニューを選択し、接続を選択します 。 [接続]画面で、[新しい接続]を押します ボタン。

接続の名前を選択し、 SSHを選択します ドロップダウンメニューからのプロトコルとして。

[パラメータ]セクションで、サーバーのIPアドレスをホスト名として、22をポートとして(またはカスタムSSHポートがある場合はそれを使用して)、ユーザー名を入力します。パスワードベースの認証を使用している場合は、ユーザーのパスワードを入力するか、秘密鍵を貼り付けます。秘密鍵を使用している場合は、そのパスフレーズを入力します。

追加の設定を有効にする場合は、それを実行します。 保存をクリックします 接続の追加を完了します。

ダッシュボードに戻り、[すべての接続]の下の接続名をクリックすると、SSHターミナルに移動します。

結論

これで、ApacheGuacamoleをインストールして使用してRockyLinux8ベースのサーバーにSSH接続を作成するためのチュートリアルは終了です。ご不明な点がございましたら、下のコメント欄に投稿してください。


Rocky Linux
  1. RockyLinuxにPostgreSQL13をインストールして使用する方法

  2. Rocky Linux / AlmaLinux8にMemcachedをインストールして構成する方法

  3. RockyLinux8デスクトップにWine6をインストールする方法

  1. RockyLinux8にMariaDB10.6をインストールする方法

  2. RockyLinux8にDockerをインストールする方法

  3. RockyLinux8にMongoDBをインストールして使用する方法

  1. RockyLinux8にコックピットをインストールする方法

  2. RockyLinux8にGitLabをインストールする方法

  3. RockyLinux8にpgAdmin4をインストールして使用する方法