Cara berkongsi desktop anda di linux menggunakan x11vnc

Cara berkongsi desktop anda di linux menggunakan x11vnc

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 menggunakan sudo 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