March 26, 2019

Делаем свой TeamViewer

TeamViewer обладает огромным функционалом и без сомнения очень полезен в работе системного администратора. К сожалению, его стоимость довольно высокая и, если вам приходится часто работать с удаленным клиентами использовать его бесплатно не получится.

К счастью, существуют бесплатные инструменты удаленного администрирования.

Нам потребуется промежуточный сервер c ssh, дистрибутив “TightVNC” и комплект утилит “Putty”. В качестве сервера может выступить любой сервер с ssh в интернете под вашим контролем. Если такого нет, можно арендовать самую дешевую VPS, например на https://hetzner.com, стоимостью ниже 3 евро за месяц.

Cхема будет выглядеть так:

На сервере заводим двух пользователей. Назовем их условно user и admin. Генерируем закрытый и открытый ключи и копируем открытый ключ на сервер.

Для подключения напишем небольшой командный файлик, установим TightVNC сервер на стороне «CLIENT» и TightVNC клиент на стороне «ADMIN».

Со стороны CLIENT:

ssh_tunnel.cmd

@echo off
start plink.exe -P 22 -l USER -ssh SERVER -R 5999:127.0.0.1:5900 -N -i USER_PRIVATE_KEY.ppk

Со стороны ADMIN:

ssh_tunnel.cmd

@echo off
start plink.exe -P 22 -l ADMIN -ssh SERVER -L 5901:127.0.0.1:5999 -N -i ADMIN_PRIVATE_KEY.ppk

После запуска ssh_tunnel.cmd, запускаем TightVNC клиент и в настройках подключения прописываем 127.0.0.1:5901

В результате мы получили почти бесплатный аналог TeamViewer.