Dalam tutorial ini, kami akan memandu Anda melalui langkah-langkah untuk menginstal dan mengkonfigurasi server VNC pada sistem CentOS 7. Kami juga akan menunjukkan kepada Anda cara terhubung dengan aman ke server VNC melalui terowongan SSH.
Virtual Network Computing (VNC) adalah sistem berbagi desktop grafis yang memungkinkan Anda menggunakan keyboard dan mouse untuk mengontrol komputer lain dari jarak jauh.
Prasyarat #
Sebelum melanjutkan tutorial, pastikan Anda masuk sebagai pengguna dengan hak istimewa sudo. Kami akan menganggap Anda masuk sebagai pengguna bernama linuxize
.
Menginstal Lingkungan Desktop Xfce #
Instalasi server CentOS sering kali tidak disertai dengan lingkungan desktop yang diinstal, jadi kita akan mulai dengan menginstal lingkungan desktop yang ringan.
Kami akan menginstal Xfce. Ini cepat, stabil, dan rendah pada sumber daya sistem, yang membuatnya ideal untuk penggunaan di server jarak jauh.
Paket Xfce tersedia di repositori EPEL. Jika repositori tidak diaktifkan di server Anda, Anda dapat mengaktifkannya dengan mengetik:
sudo yum install epel-release
Setelah repositori ditambahkan, instal Xfce di CentOS Anda dengan:
sudo yum groupinstall xfce
Bergantung pada sistem Anda, mengunduh dan menginstal paket dan dependensi Xfce mungkin memerlukan waktu.
Instalasi VNC Server #
Kami akan menggunakan TigerVNC sebagai server VNC pilihan kami. TigerVNCadalah server VNC open-source berkinerja tinggi yang dipelihara secara aktif.
Ketik perintah berikut untuk menginstal TigerVNC di server CentOS Anda:
sudo yum install tigervnc-server
Setelah VNC server terinstall, langkah selanjutnya adalah menjalankan vncserver
perintah, yang akan membuat konfigurasi awal dan mengatur kata sandi. Jangan gunakan sudo saat menjalankan perintah berikut:
vncserver
Anda akan diminta untuk memasukkan dan mengonfirmasi kata sandi dan apakah akan menyetelnya sebagai kata sandi hanya lihat. Jika Anda memilih untuk menyetel sandi hanya lihat, pengguna tidak akan dapat berinteraksi dengan instans VNC dengan mouse dan keyboard.
You will require a password to access your desktops.
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
/usr/bin/xauth: file /home/linuxize/.Xauthority does not exist
New 'server2.linuxize.com:1 (linuxize)' desktop at :1 on machine server2.linuxize.com
Starting applications specified in /etc/X11/Xvnc-session
Log file is /home/linuxize/.vnc/server2.linuxize.com:1.log
Pertama kali vncserver
perintah dijalankan, itu akan membuat dan menyimpan file kata sandi di ~/.vnc
direktori yang akan dibuat jika tidak ada.
Perhatikan :1
setelah nama host di output di atas. Ini menunjukkan nomor port tampilan tempat server vnc berjalan. Dalam kasus kami, server berjalan pada port TCP 5901
(5900+1). Jika Anda membuat instance kedua dengan vncserver
itu akan berjalan pada port gratis berikutnya yaitu :2
, yang berarti server berjalan pada port 5902
(5900+2).
Yang penting untuk diingat adalah ketika bekerja dengan server VNC, :X
adalah port tampilan yang mengacu pada 5900+X
.
Sebelum melanjutkan ke langkah berikutnya, hentikan dulu instance VNC menggunakan vncserver
perintah dengan -kill
opsi dan nomor server sebagai argumen. Dalam hal ini, server berjalan di port 5901 (:1
), jadi kami akan menghentikannya dengan:
vncserver -kill :1
Killing Xvnc process ID 2432
Konfigurasi Server VNC #
Sekarang setelah Xfce dan TigerVNC terinstal di server, langkah selanjutnya adalah mengkonfigurasi TigerVNC untuk menggunakan Xfce. Untuk melakukannya buka file berikut:
nano ~/.vnc/xstartup
Dan ubah baris terakhir dari exec /etc/X11/xinit/xinitrc
ke exec startxfce4
:
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4
Simpan dan tutup file. Script di atas akan dijalankan secara otomatis setiap kali Anda memulai atau me-restart server TigerVNC.
Jika Anda perlu meneruskan opsi tambahan ke server VNC, buka ~/.vnc/config
file dan tambahkan satu opsi per baris. Opsi paling umum tercantum dalam file. Batalkan komentar dan ubah sesuai keinginan Anda.
Ini contohnya:
~/.vnc/config# securitytypes=vncauth,tlsvnc
# desktop=sandbox
geometry=1920x1080
# localhost
# alwaysshared
dpi=96
Membuat file unit Systemd #
Kami akan membuat file unit systemd yang memungkinkan kami memulai, menghentikan, dan memulai ulang layanan VNC dengan mudah sesuai kebutuhan, sama seperti layanan systemd lainnya.
Salin file unit vncserver dengan cp
perintah:
sudo cp /usr/lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service
Buka file dengan editor teks Anda, edit baris yang disorot dengan warna kuning dan ganti "linuxize" dengan nama pengguna Anda yang sebenarnya:
sudo nano /etc/systemd/system/vncserver@\:1.service
/etc/systemd/system/vncserver@:1.service[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
User=linuxize
Group=linuxize
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver %I
PIDFile=/home/linuxize/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
[Install]
WantedBy=multi-user.target
Simpan dan tutup file. Beri tahu systemd bahwa kami membuat file unit baru dengan:
sudo systemctl daemon-reload
Langkah selanjutnya adalah mengaktifkan file unit dengan perintah berikut:
sudo systemctl enable vncserver@:1.service
Nomor 1
setelah @
tanda mendefinisikan port tampilan di mana layanan VNC akan berjalan. Dalam contoh ini, itu adalah default 1
, dan server VNC akan mendengarkan pada port 5901
, seperti yang telah kita bahas di bagian sebelumnya.
Mulai layanan VNC dengan menjalankan:
sudo systemctl start vncserver@:1.service
Verifikasi bahwa layanan berhasil dimulai dengan:
sudo 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 (running) since Mon 2020-04-06 19:27:47 UTC; 16s ago
Process: 909 ExecStart=/usr/bin/vncserver %I (code=exited, status=0/SUCCESS)
Process: 891 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
Main PID: 923 (Xvnc)
...
Menghubungkan ke server VNC #
VNC bukan protokol terenkripsi dan dapat menjadi sasaran packet sniffing. Pendekatan yang disarankan adalah membuat terowongan SSH yang akan meneruskan lalu lintas dengan aman dari mesin lokal Anda pada port 5901 ke server pada port yang sama.
Menyiapkan SSH Tunneling di Linux dan macOS #
Jika Anda menjalankan Linux, macOS, atau sistem operasi berbasis Unix lainnya di mesin Anda, Anda dapat dengan mudah membuat terowongan dengan ssh
berikut perintah:
ssh -L 5901:127.0.0.1:5901 -N -f -l username server_ip_address
Anda akan diminta untuk memasukkan kata sandi pengguna.
Jangan lupa ganti username
dan server_ip_address
dengan nama pengguna Anda dan alamat IP server Anda.
Menyiapkan SSH Tunneling di Windows #
Jika Anda menjalankan Windows, Anda dapat mengatur SSH Tunneling menggunakan klien SSH Putty.
Buka Putty dan masukkan Alamat IP server Anda di Host name or IP address
lapangan.
Di bawah Connection
menu, perluas SSH
dan pilih Tunnels
. Masukkan port server VNC (5901
) di Source Port
dan masukkan server_ip_address:5901
di Destination
dan klik pada Add
tombol seperti yang ditunjukkan pada gambar di bawah ini:
Kembali ke Session
halaman untuk menyimpan pengaturan sehingga Anda tidak perlu memasukkannya setiap saat.
Untuk masuk ke server jauh, pilih sesi yang disimpan, dan klik tombol Open
tombol
Menghubungkan menggunakan Vncviewer #
Sekarang setelah Anda mengatur tunneling SSH, sekarang saatnya untuk membuka Vncviewer Anda dan menghubungkan ke Server VNC di localhost:5901
.
Anda dapat menggunakan penampil VNC seperti TigerVNC, TightVNC, RealVNC, UltraVNC, Vinagre, dan VNC Viewer untuk Google Chrome.
Dalam contoh ini, kita akan menggunakan TigerVNC. Buka penampil VNC Anda, masukkan localhost:5901
, dan klik tombol Connect
tombol.
Masukkan kata sandi Anda saat diminta, dan Anda akan melihat desktop Xfce default. Seharusnya terlihat seperti ini:
Sekarang Anda dapat mulai berinteraksi dengan desktop XFCE jarak jauh dari komputer lokal Anda menggunakan keyboard dan mouse.