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
teamviewer_из_подручных_материалов [2022/12/27 08:18]
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]]. Тут же "​выплывают"​ проблемы:​  
 + 
 +  - компьютер ​ пользователя может быть недоступен для компьютера сотрудника,​ например,​ находится в домашней сети за роутером (который так же может быть не доступен из внешних сетей) 
 +  - пользователю нужно не только заранее установить 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, буду рад почитать статьи на эту тему.
  
-И так, у **сотрудника** техподдержки ​есть необходимость подключаться к рабочему ​столу **пользователя**что бы совместно что-то сделать. Раз нет TeamViewer, значить надо использовать что-то похожее, например [[https://​ru.wikipedia.org/​wiki/​Virtual_Network_Computing|VNC]]. Тут же "вплывает" масса проблем: ​+На этом все, всех с Наступающим, всех ​благ!
  
-  - компьютер ​ пользователя может быть недоступен для компьютера сотрудника,​ поскольку находится в домашней сети за роутером,​ который так же может быть не доступен из вне 
-  - пользователю нужно не только заранее установить VNC Server на свой компьютер,​ но и задать и не забыть пароль на него, что бы не смогли подключиться посторонние 
  
-И так "​фича"​ первая:​ было обнаружено,​ что протокол VNC позволяет организовывать подключение "​наоборот",​ не с клиента на сервер,​ а с сервера на клиент. Так, входящий в пакет [[https://​www.tightvnc.com/​|TightVNC]] компонент TightVNC Viewer умеет работать в Listen 
teamviewer_из_подручных_материалов.1672118330.txt.gz · Last modified: 2022/12/27 08:18 by val