TigerVNC
TigerVNC
(Tiger Virtual Network Computing) adalah sistem untuk berbagi desktop grafis yang memungkinkan Anda untuk mengontrol komputer lain dari jarak jauh.
TigerVNC
bekerja pada jaringan klien-server: server berbagi keluarannya (vncserver
) dan klien (vncviewer
) menyambung ke server.
Tidak seperti di Fedora 15 dan Red Hat Enterprise Linux 6, |
Server VNC
vncserver
adalah utilitas yang memulai desktop VNC (Virtual Network Computing). Itu menjalankan Xvnc dengan opsi yang sesuai dan memulai manajer jendela di desktop VNC. vncserver
memungkinkan pengguna untuk menjalankan sesi terpisah secara paralel pada mesin yang kemudian dapat diakses oleh sejumlah klien dari mana saja.
Memasang Server VNC
Untuk memasang server TigerVNC, jalankan perintah berikut sebagai root
:
# dnf install tigervnc-server
Mengonfigurasi Server VNC
-
Berkas konfigurasi bernama
/etc/systemd/system/vncserver@.service
diperlukan. Untuk membuat berkas ini, salin berkas/lib/systemd/system/vncserver@.service
sebagairoot
:~]#
cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@.service
Tidak perlu menyertakan nomor tampilan dalam nama berkas karena
systemd
secara otomatis membuat instansi yang diberi nama sesuai dalam memori sesuai permintaan, mengganti'%i'
dalam berkas layanan dengan nomor tampilan. Untuk satu pengguna, tidak perlu mengganti nama berkas. Untuk beberapa pengguna, berkas layanan yang bernama unik untuk setiap pengguna diperlukan, misalnya, dengan menambahkan nama pengguna ke nama berkas dalam beberapa cara. Lihat Mengonfigurasi Server VNC untuk Dua Pengguna untuk detailnya. -
Sunting
/etc/systemd/system/vncserver@.service
, ganti USER dengan nama pengguna yang sebenarnya. Biarkan baris berkas sisanya tidak dimodifikasi. Argumen-geometry
menentukan ukuran desktop VNC yang akan dibuat; secara baku, ini diatur ke1024x768
.ExecStart=/sbin/runuser -l USER -c "/usr/bin/vncserver %i -geometry 1280x1024" PIDFile=/home/USER/.vnc/%H%i.pid
-
Simpan perubahan.
-
Untuk membuat perubahan seketika berlaku, jalankan perintah berikut:
#
systemctl daemon-reload
-
Atur kata sandi untuk pengguna atau para pengguna yang ditentukan dalam berkas konfigurasi. Perhatikan bahwa Anda perlu beralih dari
root
ke USER terlebih dahulu.# su - USER $
vncpasswd
Password: Verify:Kata sandi yang disimpan tidak dienkripsi; siapa pun yang memiliki akses ke berkas kata sandi dapat menemukan kata sandi teks polos.
Lanjutkan ke Memulai Server VNC.
Configuring VNC Server for Two Users
Jika Anda ingin mengonfigurasi lebih dari satu pengguna di mesin yang sama, buat berkas layanan bertipe templat yang berbeda, satu untuk setiap pengguna.
-
Buat dua berkas layanan, misalnya
vncserver-USER_1@.service
danvncserver-USER_2@.service
. Di kedua berkas ini ganti USER dengan nama pengguna yang benar. -
Atur kata sandi untuk kedua pengguna:
$ su - USER_1 $ vncpasswd Password: Verify: $ su - USER_2 $ vncpasswd Password: Verify:
Memulai Server VNC
Untuk memulai atau mengaktifkan layanan, tentukan nomor tampilan langsung di perintah. Berkas yang dikonfigurasi di atas di Mengonfigurasi koneksi VNC pertama berfungsi sebagai templat, di mana %i
diganti dengan nomor tampilan oleh systemd
. Dengan nomor tampilan yang valid, jalankan perintah berikut:
# systemctl start vncserver@:nomor_tampilan.service
Anda juga dapat mengaktifkan layanan agar berjalan secara otomatis saat sistem mulai. Kemudian, ketika Anda masuk, vncserver
secara otomatis dimulai. Sebagai root
, jalankan perintah sebagai berikut:
# systemctl enable vncserver@:display_number.service
Pada titik ini, pengguna lain dapat menggunakan program penampil VNC untuk terhubung ke server VNC menggunakan nomor tampilan dan kata sandi yang ditentukan. Asalkan desktop grafis dipasang, instansi desktop itu akan ditampilkan. Ini tidak akan menjadi instansi yang sama seperti yang saat ini ditampilkan pada mesin target.
Configuring VNC Server for Two Users and Two Different Displays
Untuk dua server VNC yang dikonfigurasi, vncserver-USER_1@.service dan vncserver-USER_2@.service, Anda dapat mengaktifkan nomor tampilan yang berbeda. Misalnya, perintah berikut akan menyebabkan server VNC untuk USER_1 dimulai pada tampilan 3, dan server VNC untuk USER_2 untuk memulai pada tampilan 5:
# systemctl start vncserver-USER_1@:3.service # systemctl start vncserver-USER_2@:5.service
Mengakhiri Sesi VNC
Mirip dengan mengaktifkan layanan vncserver
, Anda dapat menonaktifkan menjalankan otomatis layanan saat sistem dimulai:
# systemctl disable vncserver@:display_number.service
Atau, saat sistem Anda berjalan, Anda dapat menghentikan layanan dengan menjalankan perintah berikut sebagai root
:
# systemctl stop vncserver@:display_number.service
Penampil VNC
vncviewer
adalah program yang menunjukkan antarmuka pengguna grafis bersama dan mengontrol server.
Untuk mengoperasikan vncviewer
, ada menu pop-up yang berisi entri yang melakukan berbagai tindakan seperti beralih masuk dan keluar dari mode layar penuh atau keluar penampil. Atau, Anda dapat mengoperasikan vncviewer
melalui terminal. Masukkan vncviewer -h pada baris perintah untuk melihat daftar parameter vncviewer
.
Memasang Penampil VNC
Untuk memasang klien TigerVNC, vncviewer>, jalankan perintah berikut sebagai root
:
# dnf install tigervnc
Menyambung ke Server VNC
Setelah server VNC dikonfigurasi, Anda dapat terhubung ke sana dari penampil VNC mana pun. Untuk melakukannya, jalankan perintah vncviewer dalam format berikut:
vncviewer address:port_number
Di mana address adalah 'IP' atau nama host.
Dengan alamat IP
192.168.0.4
dan nomor tampilan 3 perintah terlihat sebagai berikut:
$ vncviewer 192.168.0.4:3
Configuring the Firewall for VNC
Saat menggunakan koneksi non-terenkripsi, firewalld
mungkin memblokir koneksi. Untuk memungkinkan firewalld
meloloskan paket VNC, Anda dapat membuka port tertentu untuk lalu lintas TCP
. Saat menggunakan opsi -via
, lalu lintas dialihkan melalui SSH
yang diaktifkan secara baku di firewalld
.
Port baku server VNC adalah 5900. Untuk mencapai port di mana desktop jarak jauh akan dapat diakses, jumlahkan port baku dan nomor tampilan yang ditetapkan pengguna. Misalnya, untuk port kedua: 2 + 5900 = 5902. |
Untuk tampilkn 0
hingga 3
, gunakan dukungan firewalld
bagi layanan VNC melalui opsi service
seperti yang dijelaskan di bawah ini. Perhatikan bahwa untuk nomor tampilan yang lebih besar dari 3
, port yang sesuai harus dibuka secara khusus seperti yang dijelaskan dalam Membuka Port di firewalld.
-
Jalankan perintah berikut untuk melihat informasi mengenai pengaturan
firewalld
:$ firewall-cmd --list-all
-
Untuk mengizinkan semua koneksi VNC dari alamat tertentu, gunakan perintah sebagai berikut:
# firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.122.116" service name=vnc-server accept' success
Lihat Panduan Keamanan Red Hat Enterprise Linux 7 untuk informasi lebih lanjut tentang penggunaan perintah bahasa firewall yang kaya.
-
Untuk memverifikasi pengaturan di atas, gunakan perintah sebagai berikut:
# firewall-cmd --list-all public (default, active) interfaces: bond0 bond0.192 sources: services: dhcpv6-client ssh ports: masquerade: no forward-ports: icmp-blocks: rich rules: rule family="ipv4" source address="192.168.122.116" service name="vnc-server" accept
Untuk membuka port atau rentang port tertentu, gunakan opsi --add-port
ke alat baris perintah firewall-cmd. Misalnya, layar VNC 4
memerlukan port 5904
dibuka untuk lalu lintas TCP
.
-
Untuk membuka port untuk lalu lintas
TCP
di zona publik, jalankan perintah sebagairoot
sebagai berikut:# firewall-cmd --zone=public --add-port=5904/tcp success
-
Untuk melihat port yang saat ini terbuka untuk zona publik, jalankan perintah sebagai berikut:
# firewall-cmd --zone=public --list-ports 5904/tcp
Port dapat dihapus menggunakan perintah firewall-cmd --zone=zone --remove-port=number/protocol.
Untuk informasi selengkapnya tentang membuka dan menutup port di firewalld
, lihat tautan:https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Security_Guide/[Panduan Keamanan Red Hat Enterprise Linux 7].
Menghubungkan ke Server VNC Menggunakan SSH
VNC* adalah protokol jaringan teks yang polos tanpa keamanan terhadap kemungkinan serangan atas komunikasi. Untuk membuat komunikasi aman, Anda dapat mengenkripsi koneksi server-klien Anda dengan menggunakan opsi -via
. Ini akan membuat terowongan SSH
antara server dan klien VNC.
Format perintah untuk mengenkripsi koneksi server-klien VNC adalah sebagai berikut:
$ vncviewer -via user@host:display_number
-
Untuk menyambungkan ke server VNC menggunakan
SSH
, masukkan perintah sebagai berikut:$ vncviewer -via USER_2@192.168.2.101:3
-
Saat Anda diminta, ketik kata sandi, dan konfirmasi dengan menekan Enter.
-
Jendela dengan desktop jarak jauh muncul di layar Anda.
Jika Anda lebih suka hanya koneksi terenkripsi, Anda dapat mencegah koneksi yang tidak terenkripsi sama sekali dengan menggunakan opsi -localhost
di berkas systemd.service
, baris ExecStart:
ExecStart=/sbin/runuser -l user -c "/usr/bin/vncserver -localhost %i"
Ini akan menghentikan vncserver
dari menerima koneksi dari apa pun kecuali host lokal dan koneksi port-forwarded yang dikirim menggunakan SSH
sebagai akibat dari opsi -via
.
For more information on using SSH
, see OpenSSH.
Want to help? Learn how to contribute to Fedora Docs ›