Документация
Termiyo от начала до конца
Короткие страницы, в том порядке, в каком они вам понадобятся.
Начало работы
Установите Termiyo
Возьмите на странице загрузки сборку для своего компьютера: Universal .dmg на Mac, установщик на Windows, пакет вашего дистрибутива на Linux. Там же сказано, как проверить файл и как установить его в каждой системе.
Создайте хранилище
При первом запуске Termiyo просит мастер-пароль. Это единственное, что защищает всё, что хранит приложение, он никуда не отправляется, и восстановить его нельзя — возьмите парольную фразу из нескольких не связанных между собой слов.
Добавьте учётные данные
Учётные данные — это имя пользователя плюс способ аутентификации: пароль, закрытый ключ или агент. Они отделены от серверов, поэтому один и тот же вход работает на всём парке без перенабора.
Добавьте сервер
Укажите адрес и выберите учётные данные. Двойной щелчок — и подключение. При первом подключении показывается отпечаток ключа сервера; приняв его, вы закрепляете ключ для всех последующих.
Промежуточные узлы
Как дойти до закрытого сервера
Откройте сервер, разверните Advanced и выберите промежуточный узел. Termiyo сначала подключается к бастиону и открывает через него канал к цели — цели вообще не нужно быть доступной с вашей машины.
Цепочки
У промежуточного узла может быть свой промежуточный узел. Termiyo разворачивает весь путь до набора, отказывается от цепочки с петлёй и называет узел, на котором не получилось.
Проброс портов
Локальный
Слушаем на вашей машине, доставляем на стороне сервера. Обычный случай — добраться до базы, которая слушает только localhost на сервере.
Обратный
Наоборот: слушает сервер, а соединения приходят на порт вашей машины. Удобно, чтобы показать локальную сборку тому, кто может достать только до сервера.
Динамический (SOCKS5)
Termiyo поднимает локальный SOCKS5-прокси и отправляет каждое соединение через сессию, а адрес назначения разрешается на дальнем конце. Направьте туда браузер — и вы просматриваете сеть с сервера.
Синхронизация
Вход
Settings, Sync. Используйте пароль, который уже открывает ваше хранилище — Termiyo выводит из него два отдельных ключа: один остаётся здесь, другой сервер может проверить, так и не узнав пароль.
Вторая машина
Установите Termiyo, создайте хранилище с тем же паролем и войдите. Ваши серверы, ключи и сниппеты придут с первой синхронизацией. Расшифровка не происходит нигде, кроме ваших собственных машин.
Выход
Удаляет токен, а не данные. То, что на машине, на ней и остаётся — по-прежнему зашифрованное под паролем вашего хранилища.
Спросить команду
Настройка
Settings, AI и ключ Anthropic API. Ключ лежит в вашем хранилище, зашифрованный как любой другой секрет.
Вопрос
Опишите, что нужно. Подсказка ложится в вашу командную строку, чтобы вы её прочитали; Termiyo никогда не выполняет её за вас. Всё, что удаляет, перезаписывает или останавливает службу, помечается.
Что отправляется
Ваш вопрос и операционная система, если её назвал баннер входа. Последние команды отправляются только если вы это включите. Имена хостов, имена пользователей, пароли и ключи не отправляются никогда.
Telnet и последовательный порт
Консоли на последовательном порту
Выберите Serial при добавлении сервера, и Termiyo перечислит порты, которые видит. Большинство консольных портов работают на 8-N-1 при 9600; неверная скорость не выдаёт ошибку, а выдаёт мусор — так что если вывод выглядит странно, проверьте сначала её.
Послать break
Сигнал break — то, чем прерывают зависший загрузчик или переводят устройство в монитор восстановления. Другого способа выдать его из терминала нет.
Telnet
Поддержан потому, что сетевое оборудование часто не говорит ни на чём другом. Он без шифрования — всё, включая пароль, идёт открытым текстом. Пользуйтесь им в управляющей сети, а не через интернет.
Импорт из другого SSH-клиента
Импорт из клиента, которым вы уже пользуетесьПоискать на этом компьютере
Меню импорта — это кнопка с облаком над списком серверов, и первый её пункт — «Поискать на этом компьютере». Termiyo сам заходит туда, где уже стоящие у вас инструменты держат свои серверы: ssh_config, known_hosts, PuTTY, FileZilla, WinSCP, MobaXterm, IDE от JetBrains, Remmina, Tabby, SecureCRT, Cyberduck и те профили iTerm2, которые на самом деле являются командами ssh, — и показывает найденное с количеством, вместо того чтобы просить вас искать файл.
Что переносится
Названия, адреса, порты, имена пользователей, промежуточные узлы и проброс портов. Сохранённые пароли тоже — из FileZilla, WinSCP, JuiceSSH и Remmina, в хранилище, где они зашифрованы. JetBrains и Cyberduck держат свои в keychain системы, MobaXterm — в DPAPI, SecureCRT — за собственной парольной фразой: такие серверы всё равно импортируются и спрашивают пароль один раз при первом подключении. Всё, что разобрать не удалось, перечисляется с причиной, а не выбрасывается молча.
Termius, JuiceSSH и PuTTY требуют файла
Termius шифрует то, что хранит на машине, по каждому полю — читать там нечего, а собственный экспорт он убрал: файл должен появиться из экспортера сообщества, который вы запускаете сами; Termiyo читает его JSON и CSV вместе с ключами. JuiceSSH — приложение для телефона, скопируйте его резервную копию сюда. PuTTY в Windows держит сессии в реестре, так что сначала выгрузите их через regedit; в macOS и Linux ~/.putty/sessions читается как есть. Положите любой из этих файлов в «Загрузки», и Termiyo сам предложит его по имени, когда вы вернётесь.
Ничего не записывается, пока вы не прочтёте
Предпросмотр показывает, что будет создано, что у вас уже есть и что перенести не удалось, — до того как хранилище будет тронуто. Повторный импорт того же файла обновляет уже имеющиеся серверы, а не добавляет вторую копию.
SSH-сертификаты
Вставьте сертификат
Откройте Настройки, SSH-ключи, выберите ключ и вставьте в поле «Сертификат» строку -cert.pub, подписанную вашим центром сертификации. Termiyo покажет, кого он впускает, до какого времени и какую команду задаёт принудительно, а список ключей — когда истекает срок. Сертификат хоста отклоняется ещё до сохранения, как и подписанный для другого ключа, когда понятно, какой это ключ: всегда для ключа, который хранит Termiyo, и для ключа в агенте — после того как вы укажете его открытую часть.
Сертификаты в агенте
Сертификат, который хранит ваш SSH-агент, предлагается сам; вставлять ничего не нужно. Перед подключением Termiyo спрашивает агента, что у него есть.
Импорт переносит их
Импорт ssh_config переносит CertificateFile каждого ключа и лежащий рядом -cert.pub; так же работает выбор файла ключа. Сертификат, подписанный для другого ключа, сертификат хоста или истёкший не привязывается, и предпросмотр объясняет почему. К уже имеющемуся ключу сертификат добавляется, только если вы отметите соответствующий флажок.
Mosh тоже
Хост Mosh входит по вашему сертификату так же, как хост SSH. Если сертификат принудительно задаёт команду, хост выполняет её вместо mosh-server, и Mosh не может запуститься; Termiyo называет это вероятной причиной. Сертификаты ключей безопасности во входе Mosh не используются, потому что он не может ждать касания, — для них используйте SSH.
Импорт из AWS
Что нужно
Ключ доступа с ec2:DescribeInstances и больше ничего. Учётные данные используются для этого одного вызова и не сохраняются.
Что получится
Каждый запущенный инстанс в выбранных вами регионах, включая те, у которых нет публичного адреса — до них вы и добираетесь через бастион. Отметьте нужные.
Повторный запуск
Повторный импорт обновляет уже имеющиеся серверы, а не добавляет вторую копию, и не трогает учётные данные, которые вы им назначили.
Сниппеты
Сохранить команду
Сниппеты — это команды, которые вы держите под рукой, сгруппированные в папки. Запущенный сниппет печатается в терминал, который перед вами.
Значения в сниппете
Пишите ${name} там, где нужно значение, и выберите в редакторе, как заполняется каждое: «Спрашивать каждый раз» (с ответом по умолчанию или списком разрешённых ответов), «Подставлять с хоста» (его адрес, порт или имя для входа) или «Оставить оболочке» — для значения, которое у оболочки уже есть, например ${PATH}. Сниппет никогда не запускается с недостающим значением: кнопка «Выполнить сниппет» остаётся неактивной, пока на каждое нет ответа. Настольное приложение в следующий раз предложит ваши последние ответы; секрет никогда не сохраняется.
Ссылка на сервер
Скопируйте ссылку
На странице «Серверы» откройте меню сервера и выберите «Копировать ссылку». То же действие есть на странице самого сервера и в редакторе хоста, а палитра команд находит его по словам «скопировать ссылку». Ссылка выглядит так: termiyo://connect/prod-db. Она называет сервер и не несёт ни адреса, ни логина, ни пароля.
Что происходит при нажатии
Приложение для компьютера выходит на передний план и спрашивает, прежде чем подключиться, показывая адрес, на который это имя указывает на этом компьютере. Ссылка открывает только сервер, уже сохранённый под этим именем; иначе Termiyo сообщает об этом и ничего не открывает. Если хранилище заблокировано, ссылка ждёт до пяти минут, пока вы его не разблокируете.
Два сервера с одним именем
Приложение для компьютера перечисляет их с логином, адресом и хранилищем и спрашивает, какой имелся в виду; «Отмена» ничего не открывает. Если их нечем различить, оно так и говорит и ничего не открывает. Приложение для телефона не спрашивает: там имя, общее для двух серверов, не открывает ничего.
Linux AppImage
AppImage не регистрируется в системе, поэтому ссылки ничего не делают, пока вы один раз их не настроите: «Настройки», «Справка», «Командная строка», «Ссылки termiyo://», «Настроить». Пакетам .deb и .rpm и macOS настройка не нужна; в Windows ссылки работают после того, как Termiyo был открыт хотя бы раз.
Если ссылка не нажимается
Некоторые приложения не превращают termiyo:// в ссылку. Тогда выполните в терминале termiyo ssh prod-db; команду устанавливает раздел «Настройки», «Справка» — в macOS и в пакетах для Linux.