This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
teamviewer_из_подручных_материалов [2022/12/27 13:44] val |
teamviewer_из_подручных_материалов [2022/12/27 15:12] val |
||
---|---|---|---|
Line 3: | Line 3: | ||
Всем привет! | Всем привет! | ||
- | Сегодня хочу рассказать о двух случайно обнаруженных "фичах" известных протоколов, которые позволили сложиться пазлу, из темы статьи. | + | Сегодня хочу рассказать о двух случайно обнаруженных "фичах" известных протоколов, которые позволили сложиться "пазлу" из темы статьи. |
И так, у **сотрудника** техподдержки есть необходимость подключаться к рабочему столу **пользователя**, что бы совместно что-то сделать. Раз нет TeamViewer, значить надо использовать что-то похожее, например [[https://ru.wikipedia.org/wiki/Virtual_Network_Computing|VNC]]. Тут же "выплывают" проблемы: | И так, у **сотрудника** техподдержки есть необходимость подключаться к рабочему столу **пользователя**, что бы совместно что-то сделать. Раз нет TeamViewer, значить надо использовать что-то похожее, например [[https://ru.wikipedia.org/wiki/Virtual_Network_Computing|VNC]]. Тут же "выплывают" проблемы: | ||
Line 10: | Line 10: | ||
- пользователю нужно не только заранее установить VNC Server на свой компьютер, но и задать (и не забыть:) пароль от него, что бы сообщить его, когда понадобится, сотруднику | - пользователю нужно не только заранее установить VNC Server на свой компьютер, но и задать (и не забыть:) пароль от него, что бы сообщить его, когда понадобится, сотруднику | ||
- | Эти проблемы решает первая "фича": оказалось, что VNC позволяет организовывать подключение "наоборот", не с клиента на сервер, а с сервера на клиент. В системе Windows пользователь может установить, например, пакет [[https://www.tightvnc.com/|TightVNC]] оставляя все опции, кроме лицензионного соглашения, "по умолчанию", и, не меняя и не выясняя случайно сгенерированный пароль, который теперь никому не понадобится. | + | Эти проблемы решает первая "фича" - оказалось, что VNC позволяет организовать подключение "наоборот", не с клиента на сервер, а с сервера на клиент. В системе Windows пользователь может установить, например, пакет [[https://www.tightvnc.com/|TightVNC]] оставляя все опции, "по умолчанию", и, не меняя и не выясняя случайно сгенерированный пароль, который теперь никому не понадобится: |
Здесь можно представить картинку:) | Здесь можно представить картинку:) | ||
- | Аналогично пакет нужно будет установить сотруднику техподдержки, серверная часть ему не нужна, можно убрать ее из автозагрузки, а понадобится TightVNC Viewer запущенный в Listening mode | + | Этот же пакет нужно будет установить сотруднику техподдержки, серверная часть ему не нужна, можно убрать ее из автозагрузки, а понадобится TightVNC Viewer запущенный в Listening mode |
Здесь можно представить картинку:) | Здесь можно представить картинку:) | ||
- | Теперь пользователю будет достаточно | + | Теперь, по просьбе сотрудника техподдержки, пользователю будет достаточно выбрать меню Attach Listening Viewer |
- | Если пользователи работают в Linux, то необходимой функциональностью обладает пакет x11vnc, который в debian ориентированных дистрибутивах может быть установлен командой | + | Здесь можно представить картинку:) |
+ | |||
+ | указать "ip_адрес_компьютера_сотрудника_техподдержки" и нажать на кнопку "Attach" | ||
+ | |||
+ | Здесь можно представить картинку:) | ||
+ | |||
+ | Если пользователи работают в Linux, то необходимой функциональностью обладает пакет x11vnc, который в debian ориентированных дистрибутивах может быть установлен командой: | ||
$ sudo apt install x11vnc | $ sudo apt install x11vnc | ||
- | Для предоставления своего рабочего стола сотруднику техподдержки пользователю будет достаточно набрать в терминале | + | Для предоставления своего рабочего стола сотруднику техподдержки пользователю будет достаточно набрать в терминале: |
$ x11vnc -connect ip_адрес_компьютера_сотрудника_техподдержки | $ x11vnc -connect ip_адрес_компьютера_сотрудника_техподдержки | ||
Line 35: | Line 41: | ||
$ vncviewer -listen | $ 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 буду рад почитать статьи на эту тему. | ||
+ | |||
+ | Всех с Наступающим, до свидания! | ||