在本教程中,我將向您展示使您能夠訪問(wèn)運(yùn)行 CentOS/RHEL 的機(jī)器上的遠(yuǎn)程桌面的工具。所有這些應(yīng)用程序都在客戶端-服務(wù)器模式下工作。所以你需要在你的遠(yuǎn)程機(jī)器上運(yùn)行一個(gè)服務(wù)器端應(yīng)用程序,然后你就可以從世界各地連接到它。當(dāng)然,在本參考手冊(cè)中,我會(huì)告訴你如何安全地配置它,這樣只有你才能訪問(wèn)你的服務(wù)器。
在我們開(kāi)始之前,您需要通過(guò) SSH 訪問(wèn)您的服務(wù)器并獲得安裝軟件的權(quán)限。您需要以 root 用戶或具有 sudo 權(quán)限的用戶身份登錄。所有命令都將在每個(gè) CentOS 服務(wù)器 5/6/7/8 上運(yùn)行。在開(kāi)始之前,您需要在服務(wù)器上安裝桌面環(huán)境。
# yum groupinstall 'GNOME Desktop Environment' 'X Window System'
x11vnc – 這三種方法中最簡(jiǎn)單的遠(yuǎn)程訪問(wèn)。VNC代表Virtual Network Computing)是一個(gè)非常有用的網(wǎng)絡(luò)圖形協(xié)議。
您需要啟用 EPEL(企業(yè) Linux 的額外軟件包)存儲(chǔ)庫(kù)。跑步
# yum -y install epel-release
現(xiàn)在我們可以安裝 x11vnc。此命令將安裝服務(wù)器并解決所有依賴項(xiàng):
# yum -y install x11vnc
然后我們將使用密碼保護(hù)服務(wù)器:
# x11vnc -storepasswd
Enter VNC password:
Verify password:
Write password to /root/.vnc/passwd? [y]/n y
Password written to: /root/.vnc/passwd
!不要使用簡(jiǎn)單的密碼!
我們現(xiàn)在準(zhǔn)備啟動(dòng)服務(wù)器:
# x11vnc --reopen --forever -rfbauth ~/.vncpasswd &
您可以檢查服務(wù)器是否已啟動(dòng):
# netstat -an | grep 5900
tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN
tcp6 0 0 :::5900 :::* LISTEN
如果沒(méi)問(wèn)題,只需嘗試使用 vncviewer 連接到它。
# yum -y install vnc
# vncviewer YOUR_SERVER_IP
就這樣!現(xiàn)在您可以訪問(wèn)您的桌面了。重新啟動(dòng)后,只需再次 ssh 并再次執(zhí)行此操作。
x11vnc --reopen --forever -rfbauth ~/.vnc/passwd &
TigerVNC – 是 VNC 的高性能、平臺(tái)中立的實(shí)現(xiàn)
# yum install -y tigervnc-server
讓我們復(fù)制示例配置并進(jìn)行編輯:
# cp /lib/systemd/system/vncserver@.service /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 設(shè)置,則必須更改上述配置中的 USERNAME。這是我們用于本教程的配置。
現(xiàn)在我們必須運(yùn)行 vncpasswd 命令來(lái)設(shè)置我們的訪問(wèn)密碼和/或僅查看密碼(允許用戶僅查看遠(yuǎn)程屏幕的密碼):
# vncpasswd
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
A view-only password is not used
現(xiàn)在啟用自動(dòng)啟動(dòng)服務(wù)并重新啟動(dòng)它:
$ systemctl enable vncserver@:1.service
$ systemctl restart vncserver@:1.service
您可以通過(guò)鍵入以下命令檢查 vnc 服務(wù)狀態(tài):
$ systemctl status vncserver@:1.service
如果一切順利,你應(yīng)該有類似的終端輸出:
$ 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
XRDP 是一個(gè)開(kāi)源遠(yuǎn)程桌面協(xié)議服務(wù)器。要使用 XRDP,您需要已經(jīng)安裝了 VNC 服務(wù)。因此,在安裝 XRDP 之前,您應(yīng)該遵循本教程中的第一個(gè)或第二個(gè)選項(xiàng)。
首先,我們需要安裝 EPEL 存儲(chǔ)庫(kù)和 xrdp 服務(wù)器:
# yum -y install epel-release
# yum -y install xrdp
現(xiàn)在讓我們開(kāi)始服務(wù):
# systemctl start xrdp.service
檢查它是否正在運(yùn)行,并將其添加到自動(dòng)啟動(dòng)中。
# netstat -an | grep 3389
tcp 0 0 0.0.0.0:3389 0.0.0.0:* LISTEN
# systemctl enable xrdp.service
就這樣。現(xiàn)在您可以從任何 Windows 機(jī)器連接到您的服務(wù)器。
Teamviewer 在標(biāo)準(zhǔn) repos 中不存在,所以我們需要安裝 wget 并下載 TeamViewer rpm 包
# yum -y install wget
# wget https://download.teamviewer.com/download/linux/teamviewer.x86_64.rpm
使用以下命令安裝它:
# yum install teamviewer.x86_64.rpm
并設(shè)置您的密碼:
# teamviewer passwd YOUR_PASSWORD
ok
# systemctl start teamviewerd.service
現(xiàn)在您只需要獲取您的 id 即可連接:
# teamviewer –info
TeamViewer ID: 9XXXXXXX7
嘗試使用您之前設(shè)置的此 ID 和密碼連接到它:
FreeNX 是基于 NoMachine 的企業(yè)級(jí)開(kāi)源技術(shù)的遠(yuǎn)程訪問(wèn)解決方案。如果您正是希望此工具獲得遠(yuǎn)程訪問(wèn),您可以考慮升級(jí)到云版本。
首先,我們需要為 Centos 6 添加 e EPEL + nux-dextop 存儲(chǔ)庫(kù):
# 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
對(duì)于 Centos 7
# 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
安裝服務(wù)器和代理:
# yum install freenx-server nxagent
啟用 passdb 身份驗(yàn)證:
# echo 'ENABLE_PASSDB_AUTHENTICATION="1"' >> /etc/nxserver/node.conf
現(xiàn)在我們需要為遠(yuǎn)程訪問(wèn)創(chuàng)建用戶并為他分配密碼:
# /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
現(xiàn)在我們將在您的機(jī)器上安裝 epel-repos 和 opennx 客戶端:
# yum install opennx
啟動(dòng) opennx 向?qū)Ш螅鷮⒈辉儐?wèn)會(huì)話名稱、服務(wù)器地址和端口。最重要的是設(shè)置您的密鑰。您需要從服務(wù)器的 /etc/nxserver/client.id_dsa.key 復(fù)制密鑰并將其粘貼到客戶端會(huì)話屬性的常規(guī)選項(xiàng)卡中。
翻譯:一粒云,原文來(lái)源:https://linoxide.com/tools-enable-remote-desktop-access-rhel-centos-7/
]]>