User Tools

Site Tools


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
Last revision Both sides next revision
teamviewer_из_подручных_материалов [2022/12/26 15:24]
val
teamviewer_из_подручных_материалов [2023/01/06 09:41]
val
Line 1: Line 1:
 ====== TeamViewer из подручных материалов ====== ====== TeamViewer из подручных материалов ======
 +
 +  * [[https://​habr.com/​ru/​post/​709218/​]]
  
 Всем привет! Всем привет!
  
-Обычно, решение задачи начинают с ТЗ, а еще раньше с +Сегодня хочу рассказать о двух случайно обнаруженных "фичах" известных протоколовкоторые позволили сложиться "​пазлу"​ из темы статьи. 
 + 
 +И так, у **сотрудника** техподдержки есть необходимость подключаться к рабочему столу **пользователя**,​ что бы совместно что-то сделать. Раз нет TeamViewer, значить надо использовать что-то похожее,​ например [[https://​ru.wikipedia.org/​wiki/​Virtual_Network_Computing|VNC]]. Тут же "​выплывают"​ проблемы:​  
 + 
 +  - компьютер ​ пользователя может быть недоступен для компьютера сотрудника,​ например,​ находится в домашней сети за роутером (который так же может быть не доступен из внешних сетей) 
 +  - пользователю нужно не только заранее установить 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 и ssh сервером "​летит"​ нешифрованный,​ тоже в планах поправить в будущем. 
 + 
 +Так же, вероятно что MeshCentral или RustDesk окажутся более удобными решениями для тех, кто ищет альтернативу TeamViewer, буду рад почитать статьи на эту тему. 
 + 
 +На этом все, всех с Наступающим,​ всех благ!
  
-Сегодня хочу рассказать о двух случайно обнаруженных "​фичах"​ известных программ,​ которые позволили сложиться пазлу, тему которого мы сегодня обсуждаем 
  
-И так "​фича"​ первая:​ было обнаружено,​ что входящий в пакет [[https://​www.tightvnc.com/​|TightVNC]] компонент TightVNC Viewer умеет работать в  
teamviewer_из_подручных_материалов.txt · Last modified: 2023/01/21 15:34 by val