Rocky Linux 8におけるApache Guacamoleリモートデスクトップのインストールと使用方法
Rocky Linux 8におけるApache Guacamoleリモートデスクトップのインストールと使用方法
このページで
- 前提条件
- ステップ1 - ファイアウォールを設定する
- ステップ2 - ライブラリのインストール
ステップ3 - Apache Tomcatをインストールする
- Javaをインストールする
- トムキャットユーザーを作成する
- トムキャットをダウンロードする
- Systemdユニットファイルを作成し、Tomcatを起動する
ステップ7 - Apache Guacamoleを設定する
ステップ9 - Nginxをリバースプロキシとしてインストールおよび構成する
ステップ10 - ガカモレにアクセスする
Apache Guacamoleは無料でオープンソースのクライアントレスリモートデスクトップゲートウェイです。SSH、RDP、VNCなどの標準プロトコルをサポートしています。動作するためにサードパーティのプラグインやクライアントは必要ありません。ウェブベースのゲートウェイを使用して、マシンにアクセスできます。プロキシサーバの背後に配置することができ、これにより、世界中のどこからでもサーバにアクセスすることが可能です。
グアカモーレは二つの成分から作られています:
guacamole-serverは、Guacamoleがリモートデスクトップに接続するために必要なすべてのネイティブなサーバーサイドコンポーネントを含んでいます。guacdはGuacamoleサーバー上で動作するプロキシデーモンで、ユーザーの接続を受け入れ、リモートデスクトップに接続します。guacamole-clientには、ユーザーが自分のデスクトップに接続できるウェブアプリケーションを構成するすべてのJavaおよびJavascriptコンポーネントが含まれています。
このチュートリアルでは、Rocky Linux 8 ベースのサーバーに Apache Guacamole をインストールし、使用する方法を学びます。また、リモートデスクトップに接続するための使用方法も学びます。ソースコードからビルドして Guacamole をインストールします。
前提条件
最小2GBのRAMと2つのCPUコアを持つRocky Linux 8を実行しているサーバー。
ヘルプデスクのためのドメイン名がサーバーを指し示します。私たちのチュートリアルでは、uvdesk.example.com ドメインを使用します。
sudo権限を持つ非ルートベースのユーザー。
すべてが最新であることを確認してください。
sudo dnf update
基本的なユーティリティパッケージをインストールします。中にはすでにインストールされているものもあります。
sudo dnf install wget curl nano unzip yum-utils -y
ステップ1 - ファイアウォールを設定する
最初のステップはファイアウォールを設定することです。Rocky LinuxはFirewalldファイアウォールを使用しています。ファイアウォールのステータスを確認してください。
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は構築できません。さまざまなプロトコルや機能をサポートするために、いくつかのオプションの依存関係をインストールすることができます。
しかしまず、ffmpeg-develパッケージが含まれているRPMFusion Freeリポジトリを有効にする必要があります。
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 - Apache Tomcatをインストールする
私たちのチュートリアルでは、動作するためにJava 8以降を必要とするApache Tomcat 9をインストールします。
Javaをインストールする
私たちは、Javaプラットフォームのオープンソース実装であるOpenJDK 11をインストールします。
次のコマンドを実行して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サービスのユーザーを作成します。/opt/tomcatをホームディレクトリとして設定します。
sudo useradd -m -U -d /opt/tomcat -s /bin/false 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 - Guacamoleをダウンロードしてビルドする
Guacamoleの最新の安定版はそのウェブサイトから入手できます。このチュートリアルを書いている時点では、最新のバージョンは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.
ライブラリがインストールされていない場合、出力にyesの代わりにnoが表示されます。ただし、重要なライブラリが欠けている場合、コマンドは失敗します。さらに設定オプションを確認するには、./configure --helpコマンドを実行してください。
次のコマンドを使用してGuacamoleサーバーをコンパイルしてインストールします。
make && sudo make install
インストールされたライブラリのキャッシュを更新するために、次のコマンドを実行してください。
sudo ldconfig
サービスデーモンを再読み込みします。
sudo systemctl daemon-reload
ガカモレサービスを有効にして開始します。
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の設定ディレクトリを作成します。
sudo mkdir /etc/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 から Tomcat の webapps ディレクトリへのシンボリックリンクを作成するには、次のコマンドを実行してください。
sudo ln -s /etc/guacamole/guacamole.war /opt/tomcat/webapps/
アプリの権限をtomcatユーザーに変更してください。
sudo chown -R tomcat:tomcat /opt/tomcat/webapps
/etc/guacamole/guacd.confにウェブアプリケーションの設定ファイルを作成します。
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パスワードの強度をテストするために使用できるValidate Passwordプラグインをセットアップするかどうか尋ねられます。進むには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
次のステップでは、ルートパスワードを選択するよう求められます。パスワード検証プラグインの要件を満たす強力なパスワードを選んでください。次のステップでは、選択したパスワードを使用するかどうかを尋ねられます。[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
次のプロンプトですべての匿名ユーザーとテストデータベースを削除し、rootログインを無効にし、新しく設定したルールを読み込むには、Yを押してからENTERキーを押してください。
...
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 - Apache Guacamoleを設定する
Guacamoleの設定ディレクトリは、変数GUACAMOLE_HOMEで定義されます。すべての設定ファイル、拡張機能などはこのディレクトリにあります。/etc/guacamole/guacamole.propertiesファイルには、Guacamoleとその拡張機能のためのすべての設定と設定情報が保存されています。
拡張機能とライブラリには追加のディレクトリが必要です。それらを作成してください。
sudo mkdir /etc/guacamole/{extensions,lib}
ワカモレのホーム変数を設定し、それを/etc/default/tomcat構成ファイルに保存します。
echo "GUACAMOLE_HOME=/etc/guacamole" | sudo tee -a /etc/default/tomcat
Apache Guacamoleのデータベース認証を設定する
前のステップでグアカモーレのデータベースを設定しました。設定を完了するために、グアカモーレJDBC認証プラグインとMySQL Javaコネクタライブラリをダウンロードする必要があります。
ウェブサイトからガカモレJDBCプラグインをダウンロードしてください。
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
MySQL Javaコネクタをダウンロードします。プラットフォームに依存しないアーカイブファイルを取得してください。このチュートリアルを執筆している時点で、最新の利用可能なバージョンは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はウェブアプリケーションとは完全に独立しており、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 -d guacamole.example.com
上記のコマンドは、サーバーの/etc/letsencrypt/live/guacamole.example.comディレクトリに証明書をダウンロードします。
ディフィー・ヘルマン群証明書を生成します。
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
Let's Encryptの自動更新のために、チャレンジ用のWebルートディレクトリを作成します。
sudo mkdir -p /var/lib/letsencrypt
SSLを更新するためにCronジョブを作成します。これは毎日実行されて証明書を確認し、必要であれば更新します。それに先立って、まずはファイル/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ターミナルに移動します。
結論
これで、Rocky Linux 8 ベースのサーバーで SSH 接続を作成するための Apache Guacamole のインストールと使用に関するチュートリアルは終了です。質問がある場合は、下のコメントに投稿してください。






