In diesem Tutorial zeige ich Ihnen Tools, mit denen Sie auf Computern mit CentOS/RHEL auf Remotedesktop zugreifen können. Alle diese Apps arbeiten im Client-Server-Modus. Sie müssen also eine serverseitige App auf Ihrem Remote-Computer ausführen und können sich danach von überall auf der Welt damit verbinden. Natürlich werde ich Ihnen in diesem Referenzhandbuch erklären, wie Sie dies sicher konfigurieren können, sodass nur Sie auf Ihren Server zugreifen können.
Bevor wir beginnen, benötigen Sie SSH-Zugriff auf Ihren Server und Berechtigungen zum Installieren der Software. Sie müssen sich als Root-Benutzer oder Benutzer mit den sudo-Berechtigungen anmelden. Alle Befehle funktionieren auf jedem CentOS-Server 5/6/7/8. Bevor wir beginnen, müssen Sie die Desktop-Umgebung auf Ihrem Server installieren.
# yum groupinstall 'GNOME Desktop Environment' 'X Window System'
1) VNC
x11vnc – die einfachste dieser drei Methoden, um Fernzugriff zu erhalten. VNC steht für Virtual Network Computing) ist ein sehr nützliches Netzwerkgrafikprotokoll.
Sie müssen das EPEL-Repository (Extra Packages for Enterprise Linux) aktivieren. Ausführen
# yum -y install epel-release
Jetzt können wir x11vnc installieren. Dieser Befehl installiert den Server und löst alle Abhängigkeiten:
# yum -y install x11vnc
Dann schützen wir den Server mit dem Passwort:
# x11vnc -storepasswd
Enter VNC password:
Verify password:
Write password to /root/.vnc/passwd? [y]/n y
Password written to: /root/.vnc/passwd
!Verwenden Sie keine einfachen Passwörter!
Wir sind jetzt bereit, den Server zu starten:
# x11vnc --reopen --forever -rfbauth ~/.vncpasswd &
Sie können überprüfen, ob Server gestartet wurden:
# netstat -an | grep 5900
tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN
tcp6 0 0 :::5900 :::* LISTEN
Wenn es in Ordnung ist, versuchen Sie einfach, sich mit vncviewer zu verbinden.
# yum -y install vnc
# vncviewer YOUR_SERVER_IP
Das ist alles! Jetzt haben Sie Zugriff auf Ihren Desktop. Nach dem Neustart einfach ssh erneut und erneut ausführen.
x11vnc --reopen --forever -rfbauth ~/.vnc/passwd &
2) TigerVNC-Server
TigerVNC - ist eine leistungsstarke, plattformneutrale Implementierung von VNC
# yum install -y tigervnc-server
Lassen Sie uns die Beispielkonfiguration kopieren und bearbeiten:
# cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service
# vi /etc/systemd/system/vncserver@:1.service
Konfigurationsbeispiel:
[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
HINWEIS:Sie müssen den BENUTZERNAMEN in der obigen Konfiguration ändern, wenn Sie dasselbe VNC-Setup verwenden. Dies ist die Konfiguration, die wir für dieses Tutorial verwendet haben.
Jetzt müssen wir den vncpasswd-Befehl ausführen, um unser Zugangspasswort und/oder Nur-Ansicht-Passwort (ein Passwort, das dem Benutzer erlaubt, nur den Remote-Bildschirm zu sehen) einzurichten:
# vncpasswd
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
A view-only password is not used
Aktivieren Sie nun den Autostart-Dienst und starten Sie ihn neu:
$ systemctl enable vncserver@:1.service
$ systemctl restart vncserver@:1.service
Sie können den vnc-Dienststatus überprüfen, indem Sie Folgendes eingeben:
$ systemctl status vncserver@:1.service
Wenn alles geklappt hat, sollten Sie eine ähnliche Terminalausgabe wie diese haben:
$ 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).
Und schließlich verbinden:
# vncviewer YOUR_SERVER_IP
3) XRDP
XRDP ist ein Open Source Remote Desktop Protocol Server. Um XRDP verwenden zu können, muss der VNC-Dienst bereits installiert sein. Daher sollten Sie vor der XRDP-Installation die erste oder zweite Option aus diesem Tutorial befolgen.
Zuerst müssen wir das EPEL-Repository und den xrdp-Server installieren:
# yum -y install epel-release
# yum -y install xrdp
Starten wir nun den Dienst:
# systemctl start xrdp.service
Prüfen Sie, ob es läuft, und fügen Sie es zum Autostart hinzu.
# netstat -an | grep 3389
tcp 0 0 0.0.0.0:3389 0.0.0.0:* LISTEN
# systemctl enable xrdp.service
Das ist alles. Jetzt können Sie sich von jedem Windows-Rechner aus mit Ihrem Server verbinden.
4) Teamviewer
Teamviewer existiert nicht in Standard-Repositorys, daher müssen wir wget installieren und das TeamViewer-RPM-Paket herunterladen
# yum -y install wget
# wget https://download.teamviewer.com/download/linux/teamviewer.x86_64.rpm
Installieren Sie es mit diesem Befehl:
# yum install teamviewer.x86_64.rpm
Und legen Sie Ihr Passwort fest:
# teamviewer passwd YOUR_PASSWORD
ok
# systemctl start teamviewerd.service
Jetzt brauchen Sie nur noch Ihre ID, um sich zu verbinden:
# teamviewer –info
TeamViewer ID: 9XXXXXXX7
Versuchen Sie, sich mit dieser ID und dem Passwort, das Sie zuvor festgelegt haben, mit ihm zu verbinden:
5) FreeNX
FreeNX ist eine Fernzugriffslösung, die auf Open-Source-Technologien der Enterprise-Klasse von NoMachine basiert. Wenn Sie möchten, dass genau dieses Tool Fernzugriff erhält, können Sie ein Upgrade auf die Cloud-Version in Betracht ziehen.
Zuerst müssen wir e EPEL + nux-dextop Repositories für Centos 6 hinzufügen:
# 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
Für 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
Server und Agent installieren:
# yum install freenx-server nxagent
Passdb-Authentifizierung aktivieren:
# echo 'ENABLE_PASSDB_AUTHENTICATION="1"' >> /etc/nxserver/node.conf
Jetzt müssen wir einen Benutzer für den Fernzugriff erstellen und ihm ein Passwort zuweisen:
# /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
Jetzt werden wir epel-repos und den opennx-Client auf Ihrem Rechner installieren:
# yum install opennx
Nach dem Start des opennx-Assistenten werden Sie nach dem Sitzungsnamen, der Serveradresse und dem Port gefragt. Das Wichtigste ist, Ihren Schlüssel einzurichten. Sie müssen den Schlüssel aus der Datei /etc/nxserver/client.id_dsa.key des Servers kopieren und in die allgemeine Registerkarte Ihrer Client-Sitzungseigenschaften einfügen.
Bitte teilen Sie uns Ihre Kommentare zu diesem Tutorial mit und lassen Sie uns wissen, ob Sie andere Tools kennen.