В программировании есть (или теперь про программирование стоит говорить было?) такое понятие, как парное программирование. Причём это не образное выражение, а вполне конкретная деятельность. Про парное администрирование никогда не слышал, но если вдруг надумаете такое устроить, то могу предложить инструмент - TermPair.

Это старая утилита, которую я тестировал ещё в 2021 году. С тех пор её не забросили, периодически обновляют и работает она неплохо. Я лично проверил. Мне понравилось. С помощью TermPair можно настроить совместный доступ к консоли сервера через браузер. Это может быть режим только для просмотра, либо и для равнозначного управления для всех участников.

Отмечу особенности TermPair:

▪️Все передаваемые данные шифруются
▪️Можно поднять свой сервер и все соединения пропускать через него
▪️TermPair состоит из одного бинарника, никаких зависимостей
▪️Очень простая настройка и использование
▪️Утилита кроссплатформенная - Linux, macOS, Windows

Мне видится польза от этого сервиса как минимум в трёх ситуациях, которые пришли в голову:

1️⃣ Сейчас популярны удалённые собеседования при приёме на работу, в том числе и технические части. Можно быстро и легко отправить кандидату консоль от сервера с какими-то задачами, которые ему нужно выполнить. Там можно совместно в режиме беседы взаимодействовать. Мне видится это самым простым и эффективным способом оценить квалификацию человека. Говорить можно много, а вот взять и что-то сделать - совсем другое дело. Можно специально что-то поломать и попросить починить.

2️⃣ Можно наблюдать за работой ии-агента или нескольких через браузер. Можно поделиться с кем-то сессией, чтобы он тоже взаимодействовал.

3️⃣ Если вы проводите обучение, то это удобный способ подключиться к ученику и совместно что-то сделать.

Есть публичный сервис для использования, но у нас он работает только через VPN, поэтому я не делаю на этом акцент. Сразу покажу, как можно поднять и использовать свой сервер. Там всё очень просто.

Скачиваем и распаковываем бинарник:



# wget https://github.com/cs01/termpair/releases/download/v1.2.0/termpair-x86_64-unknown-linux-gnu.tar.gz
# tar xvf termpair-x86_64-unknown-linux-gnu.tar
# mv termpair /usr/local/bin/

Это нужно сделать и на клиентах, и на сервере, который будет обслуживать соединения. Далее на сервере устанавливаем Nginx и Certbot:



# apt install nginx certbot

Получаем сертификат для домена:



# certbot certonly

Рисуем конфигурацию для TermPair:



upstream termpair_app {
 server localhost:8000;
}

server {
  server_name 345265.simplecloud.ru;
  listen 443 ssl;
  ssl_certificate /etc/letsencrypt/live/345265.simplecloud.ru/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/345265.simplecloud.ru/privkey.pem;

  location /termpair/ {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;
    proxy_pass http://termpair_app/;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
  }
}

Создаём systemd unit для службы TermPair в файле /etc/systemd/system/termpair.service:



[Unit]
Description=TermPair server
After=network.target

[Service]
ExecStart=/usr/local/bin/termpair serve --port 8000
Restart=on-failure
RestartSec=1s

[Install]
WantedBy=multi-user.target

Запускаем службу:



# systemctl daemon-reload
# systemctl enable --now termpair.service

Теперь на сервере, где мы хотим расшарить консоль, запускаем TermPair и указываем через ключ наш сервер:



# termpair share --host "https://345265.simplecloud.ru/termpair/" --port 443

В консоли получаем ссылку для подключения и переходим по ней браузером. Дальше используем по назначению. Доступ будет у всех, кто знает ссылку. Ограничить доступ только чтением можно ключом -r. Через ключ --cmd можно сразу запустить какую-то программу, например, opencode.

#linux
Просмотры: 385
Открыть в MAX Сообщить о неточности

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти