Удалённый доступ к компьютеру — это когда вы сидите у себя дома и со своего компьютера управляете чужим: двигаете мышкой, создаёте папки, нажимаете клавиши и т. д. Обычно это нужно для техподдержки: если у родных проблемы с компьютером, но вам не хочется ехать к ним физически. Или если у вас компьютер на работе, а вам нужно получить к нему доступ из дома.
Программ для удалённого доступа много — недавно мы делали подборку. Проблема в том, что все они работают через чужой сервер. Если он перестанет работать, сервис закроется или решит уйти из России, удалённого управления не будет. Например, из России ушёл сервис TeamViewer — самый популярный сервис удалённого доступа.
Сегодня мы поднимем собственный сервер удалённого доступа, чтобы ни от кого не зависеть.
Что нам понадобится
Мы будем использовать RustDesk — бесплатную программу с открытым исходным кодом для удалённого управления компьютером. Её можно поставить на свой сервер и компьютеры и ни от кого не зависеть.
Софт для удалённой работы состоит из двух частей — серверной и клиентской. Серверная часть — это такой виртуальный центр связи, который соединяется с компьютерами и передаёт данные с одного компьютера на другой. Серверная часть ставится на сервере — для этого мы будем использовать учебный сервер для виртуального хранилища.
Клиентская часть устанавливается и запускается на тех компьютерах, где нам нужен удалённый доступ — для управления или чтобы кто-то смог к нам удалённо подключиться.
У RustDesk есть и то и другое, поэтому установим всё по очереди.
Устанавливаем серверную часть
Чтобы установить что-то на сервер, нам нужно сначала получить к нему доступ. Чаще всего доступ к серверу настраивают по SSH и работают из командной строки, поэтому мы будем делать точно так же: подключимся к серверу и введём нужные команды.
👉 Если не знаете, как подключиться к своему серверу, прочитайте наш текст про SSH. О запуске собственного сервера мы писали в статье про Nextcloud.
Идём на официальный гитхаб проекта, берём оттуда скрипт установки серверной части и вставляем его в командную строку сервера:
wget https://raw.githubusercontent.com/dinger1986/rustdeskinstall/master/install.sh
chmod +x install.sh
./install.sh

Во время установки у нас спросят: IP или DNS — выбираем IP:

Дальше скрипт нам предложить скачать HTTP-сервер, который нужен для работы программы. Соглашаемся и вводим 1:

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

Устанавливаем программу на компьютер
Заходим на официальный сайт RustDesk и скачиваем программу для своей операционной системы. Мы зашли на сайт с макбука, поэтому нам сразу предложили скачать версию для MacOS:

После запуска программа сразу предлагает настроить разрешение на снимки экрана и универсальный доступ (в Windows такого нет, там с этим всё проще):

Нажимаем «Настроить», заходим в системные настройки, нажимаем замочек внизу и ставим галочку напротив RustDesk:

Теперь укажем адрес нашей серверной части, которую мы установили раньше. Для этого нажимаем на три точки, выбираем «ID/Сервер трансляции» и вводим там IP-адрес нашего сервера. Он совпадает с адресом, по которому мы подключались по SSH, а ещё этот адрес сообщаем нам сам сервер при установке:


Внизу сразу меняется статус подключения на «Готово» — это значит, что сервер и клиент нашли друг друга и готовы работать вместе.
Теперь точно так же устанавливаем и настраиваем эту программу на том компьютере, которым мы хотим удалённо управлять. После этого на одном из них вводим ID другого, нажимаем «Подключиться»:
