Cara berkongsi desktop anda di linux menggunakan x11vnc
- 2597
- 726
- Ronnie Hermann
Objektif
Belajar Cara Berkongsi Desktop Anda Menggunakan Protokol VNC dan Aplikasi X11VNC
Keperluan
- Mempunyai pakej X11VNC dipasang
Konvensyen
- # - Memerlukan arahan yang diberikan untuk dilaksanakan dengan keistimewaan akar sama ada
secara langsung sebagai pengguna akar atau dengan menggunakansudo
perintah - $ - Diberi arahan untuk dilaksanakan sebagai pengguna yang tidak istimewa
Pengenalan
Walaupun SSH adalah alat penting untuk setiap pentadbir sistem, iaitu protokol yang paling banyak digunakan dan selamat untuk pentadbiran jauh, bahkan mampu memberikan akses kepada pelayan paparan x11, melalui pemajuan x11, bukan alat yang tepat untuk digunakan apabila sasaran yang dikehendaki adalah untuk berkongsi sesi desktop keseluruhan. Dalam hal ini vnc
Protokol adalah rakan kita. Dengan menggunakannya, kami dapat mengawal mesin lain sepenuhnya, berkongsi peristiwa papan kekunci atau tetikus.
Walaupun ramai
Pelaksanaan protokol wujud di GNU/Linux, dan beberapa di antaranya disepadukan dengan persekitaran desktop tertentu, seperti Vino/Vinagre
Di Gnome, dalam tutorial ini kita akan memberi tumpuan kepada penggunaan dan persediaan desktop-bebas x11vnc
permohonan.
Pemasangan
The x11vnc
Permohonan hendaklah dibungkus dan tersedia di repositori pengedaran kegemaran anda. Memasangnya di fedora itu hanya masalah berjalan:
$ sudo DNF Pasang X11VNC
Pada Debian, atau pengedaran berasaskan Debian, arahan untuk digunakan adalah:
$ sudo apt-get install x11vnc
X11VNC juga boleh didapati di repositori Archlinux. Kita boleh memasangnya menggunakan Pacman
:
$ sudo pacman -s x11vnc
Setelah dipasang, program ini boleh dilancarkan terus dari terminal, atau melalui GUI, menggunakan pelancar desktop yang harus dijumpai di menu Aplikasi.
Persediaan Firewall
Untuk dapat berkongsi sesi desktop kami menggunakan protokol VNC, kami mesti menyediakan firewall supaya ia membolehkan sambungan masuk di port 5900
yang merupakan port vnc-server lalai. Tindakan tepat untuk dilakukan bergantung pada perisian firewall yang kami gunakan pada sistem kami. Semasa menggunakan Firewalld
kita harus lari:
$ sudo firewall-cmd --add-service = vnc-server
Seperti yang anda lihat, kami sebenarnya tidak menentukan port yang dibenarkan secara langsung: Sebaliknya, kami menggunakan nama perkhidmatan secara langsung, kerana ia secara lalai dikaitkan dengan port. Ingat, semasa menggunakan Firewalld
, Sekiranya zon tidak ditentukan dengan --Kawasan
pilihan, peraturan yang ditentukan akan digunakan pada yang lalai.
Semasa menggunakan ufw
, Firewall lalai di Ubuntu, arahan yang akan digunakan adalah:
$ sudo ufw membenarkan 5900/tcp
Selain itu, jika kami berhasrat untuk membenarkan sambungan VNC dari mesin di luar rangkaian tempatan kami, kami harus mengkonfigurasi peraturan yang membenarkan untuk port yang sama di penghala kami, dan persediaan IP penghantaran ke IP mesin kami.
Berkenaan dengan X11VNC
Cara paling mudah untuk mula menggunakan X11VNC adalah dengan menggunakan program di terminal tanpa sebarang pilihan. Program ini mesti dilancarkan tanpa Keistimewaan Pentadbir:
$ x11vnc
Secara lalai X11VNC akan menggunakan paparan : 0
, Walau bagaimanapun, ini boleh diubah menggunakan -paparan
pilihan.
Perkara pertama yang akan kami terima setelah menjalankan perintah di atas adalah amaran tentang tidak menggunakan kata laluan untuk sambungan. Yang diharapkan, kerana kita belum membuat persediaan. Berjalan dengan persediaan ini sangat berbahaya, kerana mana -mana komputer dengan akses rangkaian ke mesin kami berpotensi melihat dan mengawal desktop kami. Perkara pertama yang perlu kita lakukan, adalah untuk menyediakan program supaya ia memerlukan pengesahan apabila akses diminta.
Hadkan akses dengan kata laluan
Pada dasarnya terdapat tiga cara yang dapat kita buat pengesahan menggunakan X11VNC, mereka sesuai dengan -Passwd
, -storePasswd
, dan -Passwdfile
pilihan. Mari kita lihat secara ringkas bagaimana mereka mengubah suai tingkah laku program.
Kaedah pertama diwakili oleh penggunaan -Passwd
pilihan yang membolehkan kita menyediakan kata laluan runtime, satu-tembakan, teks biasa secara langsung di terminal: ia tidak akan disimpan di mana sahaja, dan hanya akan digunakan untuk sesi yang dilancarkan.
Kaedah kedua, adalah menggunakan -storePasswd
Pilihan: Ia menerima dua hujah pilihan: lulus
dan fail
, untuk menentukan kata laluan dan fail di mana ia harus disimpan. Walau bagaimanapun, jika digunakan tanpa hujah, ia akan meminta kata laluan secara interaktif, dan ia akan disimpan di ~/.VNC/Passwd
fail. Akhirnya, jika pilihan digunakan dengan hanya satu hujah, ia akan ditafsirkan sebagai fail di mana untuk menyimpan kata laluan. Sila ambil perhatian bahawa fail yang mengandungi kata laluan tidak akan disulitkan, tetapi hanya dikurangkan dengan kunci tetap, oleh itu hanya pengguna yang dipercayai harus dibenarkan mengaksesnya.
Setelah kata laluan disimpan, program akan keluar. Dari saat itu, untuk melancarkan sesi VNC yang dilindungi kata laluan, perintah berikut mesti dikeluarkan:
$ x11vnc -rfbauth/path/to/Passfile
Di mana, secara lalai,/jalan/ke/passfile akan sesuai dengan ~/.VNC/Passwd.
Pilihan ketiga yang kita ada ialah menggunakan -Passwdfile
bendera. Dengan menggunakannya kata laluan untuk sambungan ditetapkan dengan membaca baris pertama fail yang ada, diluluskan sebagai hujah pilihan tunggal. Tingkah laku pilihan dapat diubah suai selanjutnya dengan mengutamakan hujah fail. Contohnya, jika nama fail itu diawali dengan RM:
, Fail itu sendiri akan dipadamkan selepas kandungannya dibaca oleh program tersebut. Apabila menggunakan CMD:
awalan, sebaliknya, rentetan yang ditentukan selepas awalan akan ditafsirkan sebagai arahan luaran, dan outputnya akan digunakan sebagai kata laluan. Awalan lain boleh digunakan dengan pilihan ini. Untuk rujukan lengkap, anda boleh berunding dengan manpage program.
Berikan kata laluan untuk sesi paparan sahaja
Adalah mungkin untuk digunakan x11vnc
Oleh itu, sambungan yang dibuat akan berjalan dalam mod pandangan sahaja. Ini bermakna pelanggan yang disambungkan hanya dibenarkan untuk memerhatikan sesi bersama, tetapi tidak akan dapat berinteraksi dengannya. Untuk dijalankan dalam mod ini, program mesti dilancarkan dengan -melihat
pilihan. Ada kemungkinan untuk menyediakan spefic kata laluan untuk akses seperti ini, jadi untuk mendapatkan persediaan yang lebih gunting. Untuk mendapatkan hasil ini, -ViewPasswd
Pilihan mesti digunakan, memberikan kata laluan sebagai hujah rentetan. Ini memerlukan, namun kata laluan akses penuh juga disediakan, menggunakan -Passwd
pilihan yang dibincangkan di atas.
Selamatkan sambungan menggunakan terowong yang disulitkan
Secara lalai, sambungan VNC tidak disulitkan, dan ini boleh menjadi risiko keselamatan. Kita boleh menggunakan pendekatan yang berbeza untuk memperbaikinya. Yang pertama adalah menggunakan a VPN
(Rangkaian Peribadi Maya), yang kedua menggunakan terowong SSL dan yang ketiga untuk digunakan SSH
.
Semasa menerangkan cara membuat persediaan VPN adalah dari skop artikel ini, kami akan segera melihat bagaimana untuk melaksanakan dua pilihan lain.
Gunakan terowong SSL/TLS
Kami boleh menyulitkan sambungan VNC dengan menggunakan terowong SSL. Untuk dapat mencapai ini, kita mesti menggunakan -SSL
atau -stunnel
pilihan. Yang pertama memerlukan X11vnc disusun dengan libssl
sokongan. Pilihan ini menerima satu hujah yang mana sijil di PEM
Format yang akan digunakan. Sekiranya hujah ini tidak disediakan dan OpenSSL
Utiliti dipasang pada sistem kami, sijil baru akan dijana dan disimpan ~/.vnc/certs/pelayan.PEM
.
The -ssltunnel
Pilihan, sebaliknya, bergantung pada penggunaan program luaran, stunnel
Untuk menyediakan sambungan SSL. Sebagai -ssl, ia juga menerima sijil PEM sebagai hujah. Sekiranya ia tidak disediakan, yang baru akan dijana, dan disimpan seperti yang disebutkan di atas (tingkah laku ini boleh diubah, contohnya menggunakan rentetan TMP
Sebagai hujah - dalam hal ini sijil sementara akan dihasilkan).
Perhatikan bahawa dalam kedua-dua kes, sijil yang dihasilkan secara automatik akan ditandatangani sendiri, walaupun menyediakan sambungan yang selamat, ia tidak akan mewakili perlindungan dari serangan lelaki-dalam-pertengahan. Apabila menjana sijil, kami akan ditanya sama ada kami ingin memberikan kata laluan untuk melindunginya, dan jika itu, kami akan diminta untuk memasukkannya.
Akhirnya, untuk dapat menggunakan terowong SSL, aplikasi klien mesti menyokong SSL.
Gunakan terowong SSH
Untuk menggunakan terowong SSH, kita mesti memulakan pelayan VNC menggunakan SSH, dengan arahan ini (ini mengandaikan bahawa port lalai digunakan):
$ ssh -t -l 5900: localhost: 5900 Remote -machine 'x11vnc -localhost -display: 0'
Anda mungkin biasa dengan SSH, tetapi mari kita menganalisis arahan ini. Pertama sekali kita berlari SSH dengan -t
pilihan, untuk memperuntukkan terminal pseudo, dan dengan -L
satu, pada dasarnya kita dikatakan ke hadapan port 5900
di mesin tempatan (pelanggan) kami ke port yang sama di mesin jauh. Seperti yang anda lihat, arahan X11VNC dilancarkan dengan -localhost
pilihan. Apa yang pada dasarnya adalah untuk hanya membenarkan sambungan dari mesin yang sama pelayan sedang berjalan. Pilihan ini juga digunakan secara automatik apabila menggunakan terowong SSL untuk mengelakkan memintasnya. Selepas itu, kita boleh memulakan vncviewer kami pada pelanggan:
$ vncviewer -PreferRedencoding = Zrle Localhost: 0
Perhatikan bahawa kami menetapkan pengekodan pilihan ke Zrle
, Ini harus membantu prestasi melalui SSH.
Jalankan dalam mod grafik
Seperti yang dikatakan sebelum ini, x11vnc
juga boleh digunakan dalam mod grafik, menggunakan pelancar desktop. Secara lalai program ini akan menunjukkan tetingkap di mana kita boleh memilih port mana yang hendak digunakan, ditambah pilihan lain:
Pilih tetingkap port x11vnc
Selepas kami mengklik butang "OK" ikon akan ditunjukkan dalam dulang sistem dan tetingkap dengan sifatnya akan muncul di skrin. Di sebelah kiri beberapa arahan berguna akan dipaparkan untuk permulaan yang cepat. Dari antara muka ini, kita juga boleh memilih kata laluan sesi-spefik dan pandangan sahaja:
Tetingkap Properties X11VNC
Kesimpulan
Walaupun VNC tidak mendekati untuk mewakili pengganti SSH, ia boleh menjadi alat yang tepat untuk digunakan untuk beberapa tugas tertentu. Dalam tutorial ini kita melihat langkah -langkah asas yang diperlukan untuk mengkonfigurasi dan menggunakan x11vnc
pelayan. Walaupun banyak alternatif tersedia, x11vnc adalah alat bebas yang sangat mudah dan desktop, yang boleh digunakan di mana sahaja.
Tutorial Linux Berkaitan:
- Kongsi Skrin Desktop Anda dengan VNC di Linux
- Mengkonfigurasi akses pelayan VNC pada linux merah
- Utiliti skrin jauh VNC untuk Linux
- Perkara yang hendak dipasang di Ubuntu 20.04
- Pengenalan kepada Automasi, Alat dan Teknik Linux
- Linux: Persediaan SSH
- Cara memanfaatkan sepenuhnya OpenSSH
- Perkara yang perlu dilakukan setelah memasang ubuntu 20.04 Focal Fossa Linux
- Perintah Linux: Top 20 Perintah Paling Penting yang Anda Perlu ..
- Perintah Linux Asas