opened image

Совместный доступ к Linux‑терминалу с tmate: полный гайд

 

 

tmap‑сессии — быстрый способ показать свой терминал коллеге, получить live‑debug от наставника или провести демонстрацию без видеострима. В основе tmate лежит tmux, а значит: мультиплексирование окон, моментальное восстановление после разрыва соединения и минимальное потребление ресурсов.

В этом руководстве:

  1. Устанавливаем tmate на Ubuntu, Fedora, Arch.

  2. Запускаем первую сессию и разбираем выдаваемые URL/SSH‑строки.

  3. Управляем сеансом (attach/detach, листинг, завершение).

  4. Настраиваем безопасное использование: лимит доступа «только чтение», нотари логов, собственный SSH‑сервер.

 

1. Установка tmate

Дистрибутив

Команда

Ubuntu / Debian

sudo apt update && sudo apt install -y tmate

Fedora / RHEL 9

sudo dnf install tmate

Arch / Manjaro

sudo pacman -S tmate

Нативный бинарь

`curl -fsSL https://apt.tmate.io/tmate.sh

bash` (поддерживает статики для Alpine)

Проверьте версию:

tmate -V  # должен вывести >= 2.4

2. Запуск первой сессии

tmate

Через пару секунд tmate выведет блок вида:

Connecting to ssh.tmate.io...
web read‑only  : https://tmate.io/t/ro‑ABC123
web full       : https://tmate.io/t/ABC123
ssh read‑only  : ssh ro‑[email protected]
ssh full       : ssh [email protected]

Тип ссылки

Что даёт

web read‑only

Просмотр терминала в браузере, без ввода

web full

Полный контроль через веб‑ws терминал

ssh read‑only

Подключение по SSH «только чтение»

ssh full

Полный доступ к оболочке

 

Лайфхак: очистите историю с clear перед шарингом — URL уже можно отправлять.

 

3. Управление сессиями

Действие

Шорткат / Команда

Отделиться (оставить сессию)

Ctrl‑B D

Листинг активных сессий

tmate list-sessions

Подключиться к текущей

tmate attach

Подключиться к конкретной id

tmate attach-session -t <id>

Завершить сессию

exit или Ctrl‑D внутри

 

Ctrl‑B — префикс от tmux; его можно изменить в ~/.tmate.conf.

 

4. Продвинутые настройки

Создайте ~/.tmate.conf для персонализации:

set -g tmate-server-host "fr1.tmate.io"      # своё POP‑узел
set -g tmate-identity "~/.ssh/id_ed25519"    # фиксированный SSH‑key
set -g tmate-authorized-keys "/etc/tmate.pub"# whitelist для full‑access
  • Хотите self‑host? Запустите собственный tmate‑сервер (tmate-ssh-server) и укажите его в конфиге.

 

5. Безопасность: 5 золотых правил

  1. Используйте ссылки read‑only, если нужен лишь просмотр.

  2. Перед публикацией очистите терминал (reset), чтобы скрыть переменные окружения.

  3. Следите за выводом: команды удалённого пользователя отображаются мгновенно.

  4. Отключайтесь сразу после задачи (exit), чтобы ссылка стала недействительной.

  5. Регулярно обновляйте tmate — фиксируются CVE, связанные с WebSocket‑слоем.

 

6. Мини‑шпаргалка команд

# Старт новой сессии
tmate

# Старт без вывода URL (тихий режим)
tmate -S /tmp/mysock new-session -d

# Сгенерировать ssh‑url вручную
tmate display -p '#{tmate_ssh}
'

# Продлить keepalive до 24ч
echo "set -g tmate-session-timeout 1440" >> ~/.tmate.conf

 

 

Заключение

tmape превращает обычный терминал в облачную live‑IDE: демонстрируйте баг, получайте помощь, делайте pair‑programming — без VPN и экранного шеринга. Главное правило — давайте минимум прав и завершайте сессию после работы. Следуя этому гайду, вы развернёте инструмент за 5 минут и будете уверены, что доступ останется под вашим контролем.

«Шеринг терминала — это как root‑доступ: включайте только для тех, кому доверяете».