このチュートリアルでは、CentOS/RHELを実行しているマシンでリモートデスクトップにアクセスできるようにするツールを紹介します。これらのアプリはすべてクライアントサーバーモードで動作します。そのため、リモートマシンでサーバー側のアプリを実行する必要があります。その後、世界中からサーバー側のアプリに接続できるようになります。もちろん、このリファレンスマニュアルでは、これを安全に構成して、自分だけがサーバーにアクセスできるようにする方法を説明します。
始める前に、サーバーへのSSHアクセスと、ソフトウェアをインストールするためのアクセス許可が必要です。 rootユーザーまたはsudo権限を持つユーザーとしてログインする必要があります。すべてのコマンドは、すべてのCentOSサーバー5/6/7/8で機能します。開始する前に、サーバーにデスクトップ環境をインストールする必要があります。
# yum groupinstall 'GNOME Desktop Environment' 'X Window System'
1)VNC
x11vnc –リモートアクセスを取得するためのこれら3つの方法の中で最も簡単です。 VNCはVirtualNetworkComputingの略で、非常に便利なネットワークグラフィックプロトコルです。
EPEL(Enterprise Linux用の追加パッケージ)リポジトリを有効にする必要があります。実行
# yum -y install epel-release
これで、x11vncをインストールできます。このコマンドはサーバーをインストールし、すべての依存関係を解決します:
# yum -y install x11vnc
次に、パスワードでサーバーを保護します:
# x11vnc -storepasswd
Enter VNC password:
Verify password:
Write password to /root/.vnc/passwd? [y]/n y
Password written to: /root/.vnc/passwd
!単純なパスワードは使用しないでください!
これでサーバーを起動する準備が整いました:
# x11vnc --reopen --forever -rfbauth ~/.vncpasswd &
サーバーが起動したかどうかを確認できます:
# netstat -an | grep 5900
tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN
tcp6 0 0 :::5900 :::* LISTEN
問題がない場合は、vncviewerを使用して接続してみてください。
# yum -y install vnc
# vncviewer YOUR_SERVER_IP
それで全部です!これで、デスクトップにアクセスできます。再起動後、もう一度sshを実行して、もう一度実行します。
x11vnc --reopen --forever -rfbauth ~/.vnc/passwd &
2)TigerVNCサーバー
TigerVNC-VNCの高性能でプラットフォームに依存しない実装です
# yum install -y tigervnc-server
設定例をコピーして編集しましょう:
# cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service
# vi /etc/systemd/system/vncserver@:1.service
構成の例:
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
Requires=systemd-logind.service
[Service]
Type=oneshot
RemainAfterExit=yes
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/sbin/runuser -l USERNAME -c "/usr/bin/vncserver %i"
ExecStop=/usr/sbin/runuser USERNAME -c '/usr/bin/vncserver -kill %i'
[Install]
WantedBy=multi-user.target
注:同じVNCセットアップを使用する場合は、上記の構成でユーザー名を変更する必要があります。これは、このチュートリアルで使用した構成です。
次に、vncpasswdコマンドを実行して、アクセスパスワードや表示専用パスワード(ユーザーがリモート画面のみを表示できるようにするパスワード)を設定する必要があります。
# vncpasswd
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
A view-only password is not used
次に、自動開始サービスを有効にして再起動します。
$ systemctl enable vncserver@:1.service
$ systemctl restart vncserver@:1.service
次のように入力すると、vncサービスのステータスを確認できます。
$ systemctl status vncserver@:1.service
すべてがうまくいけば、これと同様の端末出力が得られるはずです:
$ systemctl status vncserver@:1.service
● vncserver@:1.service - Remote desktop service (VNC)
Loaded: loaded (/etc/systemd/system/vncserver@:1.service; enabled; vendor preset: disabled)
Active: active (exited) since Wed 2020-09-30 22:04:47 CEST; 7s ago
Process: 3766 ExecStart=/usr/sbin/runuser -l slax -c /usr/bin/vncserver %i (code=exited, status=0/SUCCESS)
Process: 3761 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
Main PID: 3766 (code=exited, status=0/SUCCESS)
Sep 30 22:04:44 localhost.localdomain systemd[1]: Starting Remote desktop service (VNC)...
Sep 30 22:04:47 localhost.localdomain systemd[1]: Started Remote desktop service (VNC).
そして最後にそれに接続します:
# vncviewer YOUR_SERVER_IP
3)XRDP
XRDPは、オープンソースのリモートデスクトッププロトコルサーバーです。 XRDPを使用するには、VNCサービスがすでにインストールされている必要があります。したがって、XRDPをインストールする前に、このチュートリアルの最初または2番目のオプションに従う必要があります。
まず、EPELリポジトリとxrdpサーバーをインストールする必要があります:
# yum -y install epel-release
# yum -y install xrdp
それではサービスを開始しましょう:
# systemctl start xrdp.service
実行されているかどうかを確認し、自動起動に追加します。
# netstat -an | grep 3389
tcp 0 0 0.0.0.0:3389 0.0.0.0:* LISTEN
# systemctl enable xrdp.service
それで全部です。これで、任意のWindowsマシンからサーバーに接続できます。
4)Teamviewer
Teamviewerは標準リポジトリに存在しないため、wgetをインストールしてTeamViewerrpmパッケージをダウンロードする必要があります
# yum -y install wget
# wget https://download.teamviewer.com/download/linux/teamviewer.x86_64.rpm
次のコマンドを使用してインストールします:
# yum install teamviewer.x86_64.rpm
そして、パスワードを設定します:
# teamviewer passwd YOUR_PASSWORD
ok
# systemctl start teamviewerd.service
これで、接続するためにIDを取得するだけで済みます:
# teamviewer –info
TeamViewer ID: 9XXXXXXX7
前に設定したこのIDとパスワードを使用して接続してみてください:
5)FreeNX
FreeNXは、NoMachineによるエンタープライズクラスのオープンソーステクノロジーに基づくリモートアクセスソリューションです。このツールでリモートアクセスを取得したい場合は、クラウドバージョンへのアップグレードを検討してください。
まず、Centos6用にeEPEL + nux-dextopリポジトリを追加する必要があります:
# rpm -Uvh https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-2.el6.nux.noarch.rpm
Centos7の場合
# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
サーバーとエージェントのインストール:
# yum install freenx-server nxagent
passdb認証を有効にする:
# echo 'ENABLE_PASSDB_AUTHENTICATION="1"' >> /etc/nxserver/node.conf
次に、リモートアクセス用のユーザーを作成し、そのユーザーにパスワードを割り当てる必要があります。
# /usr/libexec/nx/nxserver --adduser bob
NX> 100 NXSERVER - Version 3.2.0-74-SVN OS (GPL, using backend: not detected)
NX> 1000 NXNODE - Version 3.2.0-74-SVN OS (GPL, using backend: not detected)
NX> 716 Public key added to: /home/bob/.ssh/authorized_keys2
NX> 1001 Bye.
NX> 999 Bye
#/usr/libexec/nx/nxserver --passwd bob
NX> 100 NXSERVER - Version 3.2.0-74-SVN OS (GPL, using backend: not detected)
New password:
Password changed.
NX> 999 Bye
次に、epel-reposとopennxクライアントをマシンにインストールします:
# yum install opennx
opennxウィザードを起動すると、セッション名、サーバーアドレス、およびポートについて尋ねられます。最も重要なことは、キーを設定することです。サーバーの/etc/nxserver/client.id_dsa.keyからキーをコピーして、クライアントセッションプロパティの[全般]タブに貼り付ける必要があります。
このチュートリアルへのコメントを共有し、他のツールを知っているかどうかをお知らせください。