teamviewer_из_подручных_материалов

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
teamviewer_из_подручных_материалов [2022/12/27 10:54]
val
teamviewer_из_подручных_материалов [2023/01/21 15:34] (current)
val
Line 1: Line 1:
 ====== TeamViewer из подручных материалов ====== ====== TeamViewer из подручных материалов ======
 +
 +  * [[https://​habr.com/​ru/​post/​709218/​]]
 +  * [[https://​youtu.be/​BWU1_NQZgi4|SSH-туннели,​ корпоративный TeamViewer и одноразовые пароли]]
  
 Всем привет! Всем привет!
  
-Сегодня хочу рассказать о двух случайно обнаруженных "​фичах"​ известных протоколов,​ которые позволили сложиться пазлуиз темы статьи.+Сегодня хочу рассказать о двух случайно обнаруженных "​фичах"​ известных протоколов,​ которые позволили сложиться ​"пазлу" ​из темы статьи.
  
-И так, у **сотрудника** техподдержки есть необходимость подключаться к рабочему столу **пользователя**,​ что бы совместно что-то сделать. Раз нет TeamViewer, значить надо использовать что-то похожее,​ например [[https://​ru.wikipedia.org/​wiki/​Virtual_Network_Computing|VNC]]. Тут же "​вплывают"​ проблемы: ​+И так, у **сотрудника** техподдержки есть необходимость подключаться к рабочему столу **пользователя**,​ что бы совместно что-то сделать. Раз нет TeamViewer, значить надо использовать что-то похожее,​ например [[https://​ru.wikipedia.org/​wiki/​Virtual_Network_Computing|VNC]]. Тут же "выплывают"​ проблемы: ​
  
   - компьютер ​ пользователя может быть недоступен для компьютера сотрудника,​ например,​ находится в домашней сети за роутером (который так же может быть не доступен из внешних сетей)   - компьютер ​ пользователя может быть недоступен для компьютера сотрудника,​ например,​ находится в домашней сети за роутером (который так же может быть не доступен из внешних сетей)
-  - пользователю нужно не только заранее установить VNC Server на свой компьютер,​ но и задать (и не забыть:​) пароль от него, что бы сообщить его, когда понадобится,​ сотруднику.+  - пользователю нужно не только заранее установить VNC Server на свой компьютер,​ но и задать (и не забыть:​) пароль от него, что бы сообщить его, когда понадобится,​ сотруднику 
 + 
 +Эти проблемы решает первая "​фича"​ - оказалось,​ что VNC позволяет организовать подключение "​наоборот",​ не с клиента на сервер,​ а с сервера на клиент. В системе Windows пользователь может установить,​ например,​ пакет [[https://​www.tightvnc.com/​|TightVNC]] оставляя все опции, "по умолчанию",​ и, не меняя и не выясняя случайно сгенерированный пароль,​ который теперь никому не понадобится:​ 
 + 
 +img1.jpg 
 + 
 +Этот же пакет нужно будет установить сотруднику техподдержки,​ серверная часть ему не нужна, можно убрать ее из автозагрузки,​ а понадобится TightVNC Viewer запущенный в Listening mode 
 + 
 +img2.jpg 
 + 
 +Теперь,​ по просьбе сотрудника техподдержки,​ пользователю будет достаточно выбрать меню Attach Listening Viewer 
 + 
 +img3.jpg 
 + 
 +указать "​ip_адрес_компьютера_сотрудника_техподдержки"​ и нажать на кнопку "​Attach"​ 
 + 
 +img4.jpg 
 + 
 +Если пользователи работают в Linux, то необходимой функциональностью обладает пакет x11vnc, который в debian ориентированных дистрибутивах может быть установлен командой:​ 
 + 
 +$ sudo apt install x11vnc 
 + 
 +Для предоставления своего рабочего стола сотруднику техподдержки пользователю будет достаточно набрать в терминале:​ 
 + 
 +$ x11vnc -connect ip_адрес_компьютера_сотрудника_техподдержки 
 + 
 +Если и сотрудник техподдержки работает в Linux, он может установить пакет tigervnc-viewer 
 + 
 +$ sudo apt install tigervnc-viewer 
 + 
 +и, перед оказанием помощи пользователю,​ запустить в терминале команду:​ 
 + 
 +$ vncviewer -listen 
 + 
 +СТОП! Как это "​ip_адрес_компьютера_сотрудника_техподдержки"?​ А если (даже наверняка) это такой же "​серый"​ адрес в локальной сети за роутером,​ как и у пользователя?​ 
 + 
 +Эту проблему решает вторая "​фича"​ - оказалось что сервис SSH не только позволяет,​ благодаря опции GatewayPorts yes, установить подключение с компьютера сотрудника к SSH серверу и назначить внешний TCP порт для встречных соединений,​ которые можно "​направить"​ в VNC viewer, но и сгенерировать этот номер динамически. 
 + 
 +Команда будет выглядеть вот так (обратите внимание на 0, там где указывается номер внешнего порта):​ 
 + 
 +ssh -R 0:​localhost:​5500 логин_сотрудника_техподдержки@ip_адрес_ssh_сервера 
 + 
 +И, да, VNC viewer, в режиме listen, ожидает,​ по умолчанию,​ подключения на порту 5500, и теперь его можно ограничить только интерфейсом localhost 
 + 
 +Теперь,​ если "​ip_адрес_ssh_сервера"​ публичный,​ пользователи смогут предоставить свой рабочий стол, указав вместо "​ip_адреса_компьютера_сотрудника_техподдержки"​ - "​ip_адрес_ssh_сервера:​сгенерированный_номер_порта"​  
 + 
 +Некоторой проблемой оказалось "​выяснение"​ назначенного динамического порта, дело в том что в Linux терминале строка 
 + 
 +Allocated port NNNNN for remote forward to localhost:​5500 
 + 
 +прекрасно отображается,​ и сотрудник техподдержки может продиктовать его пользователю,​ но в Windows, не все SSH клиенты (например PuTTY) это делают,​ тут могу посоветовать MobaXTerm в нем все как в Linux 
 + 
 +В завершении статьи остается только посочувствовать пользователям,​ которм вместо "​каликанья"​ по "​иконке"​ и сообщения оператору номера подключения в TeamViewer приходится запускать "​страшные"​ программы с непонятными адресами,​ но мы на работе "​боремся"​ с этим создав bat файл для пользователей Windows и используя Ansible для рабочих станций Linux, после которых на рабочем столе пользователя тоже появляется "​иконка",​ по которой можно "​кликнуть"​ и ввести там 5 цифр, названных сотрудником техподдержки. Если статья вызовет интерес,​ можно будет написать продолжение на эту тему.
  
-Эти проблемы решает первая "фича": оказалось,​ что VNC позволяет организовывать подключение "наоборот", ​не с клиента на сервер, а с сервера на клиент. В системе Windows ​пользователь ​может установить, например, пакет [[https://​www.tightvnc.com/​|TightVNC]] оставляя все опции, кроме лицензионного соглашения, ​"по умолчанию",​ и не меняя и не узнавая случайно сгенерированный ​паролькоторый теперь ​никому не понадобится+Ещеиз "нехорошего", трафик между ​пользовательским VNC и ssh сервером ​"летит" нешифрованный,​ тоже в планах поправить в будущем.
  
-Здесь можно представить ​картинку:)+Так же, вероятно что MeshCentral или RustDesk окажутся более удобными ​решениями ​для тех, кто ищет альтернативу TeamViewer, буду рад почитать статьи на эту тему.
  
-Аналогично пакет нужно будет установить ​сотруднику техподдержки, серверная часть ему не нужна, можно убрать ее из автозагрузки, а понадобится TightVNC Viewer запущенный в Listening mode+На этом все, всех ​с Наступающим, всех благ!
  
-Если пользователи и/или сотрудники работают в Linux, то аналогичной функциональностью обладает пакет x11vnc, ​ 
  
-Аналогично,​ реализация в Linux ... 
teamviewer_из_подручных_материалов.1672127683.txt.gz · Last modified: 2022/12/27 10:54 by val