Barrier kasutamine

Allikas: Imre kasutab arvutit
Mine navigeerimisribaleMine otsikasti

Sissejuhatus

Barrier https://github.com/debauchee/barrier tarkvara ... Barrier on mõeldud kasutamiseks graafilises keskkonnas, nt XFCE4.

Tööpõhimõte

Barrier abil saab ühte klaviatuuri ja hiirt kasutada mitme arvuti juhtimiseks. Seejuures on nö tavaline klaviatuur ja hiir ühendatud ühe arvuti külge, mida nimetatakse serveriks, ülejäänud arvutid on kliendid. Süsteemi käivitamisel käivitatakse esmalt serveri protsess ja seejärel kliendid, mis pöörduvad üle 24800/tcp pordi serveri poole.

            ____________       ____________
           |            |     |            |
           |  klient 2  |     |  klient 3  |
           |  barrierc  |     |  barrierc  |
           |____________|     |____________|

            ____________       ____________
           |            |     |            |
           |   server   |     |  klient 1  |
           |  barriers  |     |  barrierc  |
           |____________|     |____________|
              |   |
              |  -|--- hiir
              |
             -|--- klaviatuur

kus

  • iga kastike kujutab endast arvuti ja temaga ühendatud monitori komplekti
  • ainult serveriga on ühendatud klaviatuur ja hiir
  • serveris töötab barriers protsess ja ootab ühendusi vaikimisi pordile 24800/tcp
  • klientides töötab barierc protsess ja ühendub serveriga

Tulemusena saab hiirga vastu ekraani serve sõites viia hiire edasi meelepärasele ekraanile (ingl. screen) ning seal edasi töötada, ja samuti töötada vastaval ekraanil klaviatuuriga. Aknaid ei ole võimalik ekraanide vahel ümber paigutada. Tundub, et erinevate ekraanide vahel saab hiirega kopeerida.

Tarkvara paigaldamine

Debian

Tarkvara paigaldamiseks sobib öelda nt

# apt-get install barrier

Tulemusena paigaldatakse muu seas kaks binaari

  • /usr/bin/barriers - server
  • /usr/bin/barrierc - klient

Windows

TODO

Tarkvara seadistamine

TODO

Debian server

Synergy serveris tuleb ettevalmistada seadistusfail, nt /etc/synergy.conf

# cat /etc/synergy.conf
section: screens
  moraal:
  debian:
end

section: links
  moraal:
    up = debian
  debian:
    down = moraal
end

section: options
  switchDelay = 500                     
end

kus

  • switchDelay - aeg millisekundites kui kaua peab hiir vastu serva viibima, et toimuks ekraanivahetus

Käivitamiseks sobib öelda selle kasutajana, millena on graafilisse keskkonda sisse logitud nt

$ barriers -f -c /etc/synergy.conf

Debian klient

Barrier kliendi jaoks ei ole vaja kasutada seadistusfaili, käivitamiseks sobib öelda selle kasutajana, millena on graafilisse keskkonda sisse logitud nt

$ barrierc -f barrier-server

kus

  • -f - programm jääb tööle esiplaanile
  • barrier-server - serveri nimi või ip aadress

Windows 7 klient

MÄRKUS: Muuta kunagi õigeks sisu.

Kuigi synergyc protsess käivitada administrator privileegiga kasutaja võivad teatud tegevuste puhul ikkagi ilmuda nn UAC (User Account Control) küsimused, millele tuleb vastata füüsiliselt konsoolilt, ühesõnaga ebamugav. Tundub, et selle vastu aitab

  • valida Synergy haldusliidese alt äärest Elevate ette linnuke
  • käivitada snap-in secpol.msc ja avada
Security Settings -> Local Policies -> Security Options -> User Account Control: \
  Behavior of the elevation prompt for administrators in Admin Approval Mode -> Elevate without promting

Turvalisus

Käesolev lõik käib Ubuntu 22.04 ja FreeBSD 13 kohta, mõlemas otsas on Barrier v. 2.4.0

root@moraal:~# barriers --version
barriers 2.4.0-release
Protocol version 1.6
Copyright (C) 2018 Debauchee Open Source Group
Copyright (C) 2012-2016 Symless Ltd.
Copyright (C) 2008-2014 Nick Bolton
Copyright (C) 2002-2014 Chris Schoeneman

Krüptimata variatsioon

Barrier kliendi ja serveri vahel on vaikimisi liiklus krüptitud, krüptimise väljalülitamiseks sobib kasutada suvandit

 --disable-crypto

Krüptitud variatsioon - tööpõhimõte

Väited

  • kummalgi poolel on oma privaatne võti ja self signed sertifikaat
  • teise poole sertifikaadi autentsus tehakse kindlaks sertifikaadi fingerprint abil (issuerit ega subject CN elemendi väärtuse klappimist vms ei kontrollita)

Krüptitud variatsioon - seadistamine

Failid serveris

imre@moraal:~$ find .local/share/barrier/SSL/ -type f -ls
 92624      5 -rw-rw-r--  1 imre   imre    106 nov 13 19:06 .local/share/barrier/SSL/Fingerprints/Local.txt
 96496      5 -rw-rw-r--  1 imre   imre    106 nov 13 19:06 .local/share/barrier/SSL/Fingerprints/TrustedClients.txt
 92752      5 -rw-------  1 imre   imre   2811 nov 13 18:02 .local/share/barrier/SSL/Barrier.pem

kus privaatse võtme ja self-signed sertifikaadi moodustamiseks sobib öelda (Barrier.pem failis sisaldub järjestikuliselt privaatne võti ja sertifikaat)

$ mkdir -p .local/share/barrier/SSL
$ openssl req -x509 -nodes -days 365 -subj /CN=Barrier -newkey rsa:2048 -keyout .local/share/barrier/SSL/Barrier.pem -out .local/share/barrier/SSL/Barrier.pem

fingerprint moodustamiseks sobib öelda

$ mkdir .local/share/barrier/SSL/Fingerprints
$ openssl x509 -fingerprint -sha256 -noout -in  .local/share/barrier/SSL/Barrier.pem > .local/share/barrier/SSL/Fingerprints/Local.txt

ning peale sobivaks kohendamist paistab tulemus nii

 imre@moraal:~$ cat .local/share/barrier/SSL/Fingerprints/Local.txt
 v2:sha256:48:B2:2E:06:28:CA:D6:3A:BC:7C:01:A1:E0:49:4E:EF:A2:AA:DA:12:DE:55:55:10:53:97:FE:8F:FA:A3:CF:58

TrustedClients ja TrustedServers sisu on sama formaadiga.

Failid kliendis

[imre@freebsd-tk ~]$ find .local/share/barrier/ -type f -ls
 98562      9 -rw-------  1 imre   imre   2811 Mar 13  2022 .local/share/barrier/SSL/Barrier.pem
  2656      9 -rw-r--r--  1 imre   imre    106 Nov 13 19:05 .local/share/barrier/SSL/Fingerprints/TrustedServers.txt
 98439      9 -rw-r--r--  1 imre   imre    106 Nov 13 19:03 .local/share/barrier/SSL/Fingerprints/Local.txt

Kürptitud variatsioon - käivitamine

Serveri poolel on kaks faili

$ cat synergy.conf-deb11-ja-fbsd13 
section: screens
  moraal:
  freebsd-tk:
end

section: links
  moraal:
    right = freebsd-tk
  freebsd-tk:
    left = moraal
end

section: options
  switchDelay = 500                     
end

ja

imre@moraal:~$ cat barriers.sh 
# barriers -f -c synergy.conf-deb11-ja-fbsd13 --disable-crypto
barriers -f -c synergy.conf-deb11-ja-fbsd13

Serveri poolel paistab käivitanud ja kliendi külgeühendumine nii

imre@moraal:~$ sh barriers.sh 
started server (IPv4), waiting for clients
[2022-11-13T19:40:42] INFO: OpenSSL 3.0.2 15 Mar 2022
[2022-11-13T19:40:42] NOTE: peer fingerprint (SHA1): A1:38:1D:CD:E7:77:31:5E:A4:AB:C2:1C:6D:6C:0E:42:FF:DD:A6:E4 (SHA256): 2B:C5:E8:D9:6C:70:06:8C:64:F1:EE:A8:03:58:3A:EE:AB:66:64:98:E1:EA:7A:27:B6:79:DA:00:8A:B1:1D:8B
[2022-11-13T19:40:42] NOTE: fingerprint_db_path: /home/imre/.local/share/barrier/SSL/Fingerprints/TrustedClients.txt
[2022-11-13T19:40:42] NOTE: Read 1 fingerprints from: /home/imre/.local/share/barrier/SSL/Fingerprints/TrustedClients.txt
[2022-11-13T19:40:42] NOTE: Fingerprint matches trusted fingerprint
[2022-11-13T19:40:42] INFO: accepted secure socket
[2022-11-13T19:40:42] INFO: peer ssl certificate info: /CN=Barrier
[2022-11-13T19:40:42] INFO: accepted secure socket
[2022-11-13T19:40:42] INFO: TLS_AES_256_GCM_SHA384         TLSv1.3 Kx=any      Au=any   Enc=AESGCM(256)            Mac=AEAD

[2022-11-13T19:40:42] NOTE: accepted client connection
[2022-11-13T19:40:42] NOTE: client "freebsd-tk" has connected
...

ja kliendi poolel on üks käsk, ilma seadistusfailita

[imre@freebsd-tk ~]$ cat barrierc.sh 
# barrierc --disable-crypto -f 192.168.110.216
barrierc -f 192.168.10.189

Barrier automaatselt käivitamine

TODO

Keyboard shortcut kasutamine

TODO

Märkused

  • Tundub, et Barrieri ei eksita kui serveris töötab kaks monitori ühe nö virtuaalse screenina.
  • Tundub, et Barrier puhul võivad osalised asuda NAT taga, seadistusfailis tuleb ip aadressina kasutada seda ip aadressi, millena teine osaline paistab (mitte mis ta tegelikult on)

Kasulikud lisamaterjalid