Документация
Termiyo от начала до конца
Короткие страницы, в том порядке, в каком они вам понадобятся.
Начало работы
Создайте хранилище
При первом запуске 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 сам предложит его по имени, когда вы вернётесь.
Ничего не записывается, пока вы не прочтёте
Предпросмотр показывает, что будет создано, что у вас уже есть и что перенести не удалось, — до того как хранилище будет тронуто. Повторный импорт того же файла обновляет уже имеющиеся серверы, а не добавляет вторую копию.
Импорт из AWS
Что нужно
Ключ доступа с ec2:DescribeInstances и больше ничего. Учётные данные используются для этого одного вызова и не сохраняются.
Что получится
Каждый запущенный инстанс в выбранных вами регионах, включая те, у которых нет публичного адреса — до них вы и добираетесь через бастион. Отметьте нужные.
Повторный запуск
Повторный импорт обновляет уже имеющиеся серверы, а не добавляет вторую копию, и не трогает учётные данные, которые вы им назначили.
Сниппеты
Сохранить команду
Сниппеты — это команды, которые вы держите под рукой. Группируйте их в пакеты и ограничивайте сниппет серверами с определённой меткой, когда он осмыслен только в одном месте.
Запрашиваемые переменные
Сниппет может содержать переменные. При запуске он сначала спросит каждую, так что команда, которую вы гоняете на двадцати серверах, остаётся одним сниппетом, а не двадцатью.