Dalam tutorial ini, saya akan menunjukkan alat yang memungkinkan Anda mengakses Desktop jarak jauh pada mesin yang menjalankan CentOS/RHEL. Semua aplikasi ini bekerja dalam mode client-server. Jadi, Anda perlu menjalankan aplikasi sisi server di mesin jarak jauh Anda dan setelah itu, Anda akan dapat menghubungkannya dari seluruh dunia. Tentu saja dalam manual referensi ini, saya akan memberi tahu Anda cara mengkonfigurasi ini dengan aman, sehingga hanya Anda yang dapat mengakses server Anda.
Sebelum kita mulai, Anda memerlukan akses SSH ke server Anda dan izin untuk menginstal perangkat lunak. Anda harus masuk sebagai pengguna root atau pengguna dengan hak istimewa sudo. Semua perintah akan bekerja di setiap server CentOS 5/6/7/8. Sebelum kita mulai, Anda perlu menginstal lingkungan desktop ke server Anda.
# yum groupinstall 'GNOME Desktop Environment' 'X Window System'
1) VNC
x11vnc – paling sederhana dari ketiga metode ini untuk mendapatkan akses jarak jauh. VNC adalah singkatan dari Virtual Network Computing) adalah protokol grafik jaringan yang sangat berguna.
Anda harus mengaktifkan repositori EPEL (Extra Packages for Enterprise Linux). Jalankan
# yum -y install epel-release
Sekarang kita dapat menginstal x11vnc. Perintah ini akan menginstal server dan menyelesaikan semua dependensi:
# yum -y install x11vnc
Kemudian kami akan melindungi server dengan kata sandi:
# x11vnc -storepasswd
Enter VNC password:
Verify password:
Write password to /root/.vnc/passwd? [y]/n y
Password written to: /root/.vnc/passwd
!Jangan gunakan kata sandi sederhana!
Kami sekarang siap untuk memulai server:
# x11vnc --reopen --forever -rfbauth ~/.vncpasswd &
Anda dapat memeriksa apakah server dimulai:
# netstat -an | grep 5900
tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN
tcp6 0 0 :::5900 :::* LISTEN
Jika sudah, coba sambungkan menggunakan vncviewer.
# yum -y install vnc
# vncviewer YOUR_SERVER_IP
Itu saja! Sekarang Anda memiliki akses ke desktop Anda. Setelah reboot cukup ssh lagi dan lakukan lagi.
x11vnc --reopen --forever -rfbauth ~/.vnc/passwd &
2) server TigerVNC
TigerVNC - adalah implementasi VNC platform-netral berkinerja tinggi
# yum install -y tigervnc-server
Mari kita salin contoh konfigurasi dan edit:
# cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service
# vi /etc/systemd/system/vncserver@:1.service
Contoh konfigurasi:
[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
CATATAN:Anda harus mengubah USERNAME di konfigurasi di atas jika Anda akan menggunakan pengaturan VNC yang sama. Ini adalah konfigurasi yang kami gunakan untuk tutorial ini.
Sekarang kita harus menjalankan perintah vncpasswd untuk mengatur kata sandi akses kita, dan/atau kata sandi hanya-lihat (sandi yang memungkinkan pengguna hanya melihat layar jarak jauh):
# vncpasswd
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
A view-only password is not used
Sekarang aktifkan layanan autostart dan mulai ulang:
$ systemctl enable vncserver@:1.service
$ systemctl restart vncserver@:1.service
Anda dapat memeriksa status layanan vnc dengan mengetik:
$ systemctl status vncserver@:1.service
Jika semuanya berjalan baik, Anda seharusnya memiliki keluaran terminal yang mirip dengan ini:
$ 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).
Dan akhirnya terhubung ke sana:
# vncviewer YOUR_SERVER_IP
3) XRDP
XRDP adalah server Protokol Desktop Jarak Jauh Sumber Terbuka. Untuk menggunakan XRDP, Anda harus sudah menginstal layanan VNC. Jadi Anda harus mengikuti opsi pertama atau kedua dari tutorial ini sebelum instalasi XRDP.
Pertama-tama kita perlu menginstal repositori EPEL dan server xrdp:
# yum -y install epel-release
# yum -y install xrdp
Sekarang mari kita mulai layanan:
# systemctl start xrdp.service
Periksa apakah ini berjalan, dan tambahkan ke autostart.
# netstat -an | grep 3389
tcp 0 0 0.0.0.0:3389 0.0.0.0:* LISTEN
# systemctl enable xrdp.service
Itu saja. Sekarang Anda dapat terhubung ke server Anda dari mesin Windows mana pun.
4) Penampil Tim
Teamviewer tidak ada di repo standar, jadi kita perlu menginstal wget dan mengunduh paket rpm TeamViewer
# yum -y install wget
# wget https://download.teamviewer.com/download/linux/teamviewer.x86_64.rpm
Instal menggunakan perintah ini:
# yum install teamviewer.x86_64.rpm
Dan atur kata sandi Anda:
# teamviewer passwd YOUR_PASSWORD
ok
# systemctl start teamviewerd.service
Sekarang Anda hanya perlu mendapatkan id Anda untuk terhubung:
# teamviewer –info
TeamViewer ID: 9XXXXXXX7
Coba sambungkan menggunakan id dan kata sandi yang Anda tetapkan sebelumnya:
5) FreeNX
FreeNX adalah solusi Akses Jarak Jauh berdasarkan teknologi sumber terbuka kelas perusahaan oleh NoMachine. Jika Anda benar-benar ingin alat ini mendapatkan akses jarak jauh, Anda dapat mempertimbangkan untuk meningkatkan ke versi cloud.
Pertama-tama kita perlu menambahkan repositori e EPEL + nux-dextop, untuk Centos 6:
# 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
Untuk 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
Instal server dan agen:
# yum install freenx-server nxagent
Aktifkan otentikasi passdb:
# echo 'ENABLE_PASSDB_AUTHENTICATION="1"' >> /etc/nxserver/node.conf
Sekarang kita perlu membuat pengguna untuk akses jarak jauh dan menetapkan kata sandi untuknya:
# /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
Sekarang kita akan menginstal epel-repos dan klien opennx di komputer Anda:
# yum install opennx
Setelah memulai wizard opennx Anda akan ditanya tentang nama sesi, alamat server, dan port. Yang paling penting adalah menyiapkan kunci Anda. Anda harus menyalin kunci dari /etc/nxserver/client.id_dsa.key server dan menempelkannya ke tab umum properti sesi klien Anda.
Silakan bagikan komentar Anda tentang tutorial ini dan beri tahu kami jika Anda mengetahui alat lain.