Веб-терминал
Подключайтесь из браузера к серверам SSH, Telnet или к локальной оболочке. Сессии хранятся на сервере, поэтому после обрыва связи к ним можно вернуться. Раздел открывается в боковой панели пунктом «Веб-терминал».
Типы подключений
| Тип | Описание |
|---|---|
| SSH | Аутентификация по паролю и по закрытому ключу (ключ можно вставить или указать путь keyFile на сервере, поддерживается парольная фраза ключа); можно задать workDir — каталог после входа, keepAlive, таймаут подключения (1~120 секунд, по умолчанию 15) и прокси |
| Telnet | Порт по умолчанию 23; при обнаружении приглашений login:, username:, password: и подобных каждое из них заполняется автоматически один раз; можно задать прокси |
| Локальная оболочка | Открывает оболочку прямо на устройстве, где работает Gately; можно указать путь к оболочке, рабочий каталог и дополнительные переменные окружения |
Для каждого подключения можно оставить заметку. Список подключений поддерживает сортировку перетаскиванием и «Проверку подключения»: для SSH возвращаются версия сервера и задержка, для Telnet проверяется только доступность по TCP (в том числе через прокси), для локальной оболочки проверка не поддерживается. При редактировании подключения пароль, закрытый ключ, его парольная фраза и пароль прокси показываются в замаскированном виде; если их не менять, сохраняются прежние значения.
В «Настройках» можно вести «пресеты учётных данных SSH» (пароль или закрытый ключ, при желании с именем пользователя по умолчанию). При добавлении или редактировании SSH-подключения выберите пресет, чтобы использовать его повторно: одни и те же данные могут применяться в нескольких подключениях, а изменения пресета вступают в силу при следующем подключении. Пресет, на который ссылается подключение, удалить нельзя.
Прокси
Для подключений SSH и Telnet можно отдельно настроить выходной прокси типа socks5 или http с именем пользователя и паролем.
Доверие к ключу хоста при первом подключении
При первом SSH-подключении отпечаток ключа хоста сервера запоминается и считается доверенным, при каждом последующем подключении отпечаток сверяется. Если сервер переустановлен или ключ сменился, выполните для подключения «Сбросить отпечаток хоста», чтобы доверять ему заново.
Сессии
- Сессии хранятся на сервере; после обновления страницы или обрыва соединения к ним можно снова подключиться из списка сессий: сначала воспроизводится буфер вывода, затем вывод передаётся в реальном времени;
- К одной сессии могут одновременно подключаться несколько клиентов: ввод общий, вывод рассылается всем;
- Сессиям можно добавлять заметки; в списке сессий показаны время создания, время последней активности, размер окна и число отправленных и полученных байт;
- После обновления страницы все ещё активные сессии автоматически восстанавливаются во вкладках вместе с раскладкой разделённых панелей;
- В терминале есть поиск (введите ключевое слово, Enter — искать далее, Shift+Enter — искать назад), копирование, вставка, очистка экрана, изменение размера шрифта, полноэкранный режим и несколько цветовых схем (по умолчанию следуют теме интерфейса, можно закрепить одну).
Параметры
Настраиваются в «Настройках» в правом верхнем углу страницы:
| Поле | По умолчанию | Описание |
|---|---|---|
allowLocalShell | выключено | Разрешить ли открывать локальную оболочку |
maxSessions | 20 | Максимальное число одновременных сессий, не более 1000; при превышении создание новой сессии возвращает HTTP 429 |
idleTimeout | 0 | Сессия автоматически завершается, если в течение указанного числа минут не было ввода и вывода; 0 — без ограничения |
bufferSize | 256 | Буфер воспроизведения, хранимый для каждой сессии (КБ), не более 16384 |
heartbeatInterval | 30 | Интервал heartbeat WebSocket (секунды), не более 600 |
sessionKeepAlive | 0 | Сколько минут сессия продолжает жить после отключения браузера; 0 — сессия завершается сразу после отключения, не более 10080 |
TIP
Чтобы можно было возвращаться к сессии после обрыва связи, задайте для sessionKeepAlive значение больше 0. При значении 0 сессия завершается сразу после отключения браузера.
Файловый менеджер SFTP
Значок папки на панели инструментов терминала открывает панель управления файлами. Для SSH-подключений файлы удалённого хоста обрабатываются по SFTP, для подключений к локальной оболочке — напрямую в файловой системе устройства, где работает Gately; для Telnet файловый менеджер не предоставляется. Для работы с локальными файлами должна быть включена опция «Разрешить локальную оболочку».
| Возможность | Описание |
|---|---|
| Просмотр | Навигация по «хлебным крошкам» и переход в родительский каталог, каталоги идут первыми, сортировка по имени, способ сортировки можно менять; отображаются права, размер, время изменения и владелец |
| Создание | Создание папки и пустого файла |
| Загрузка | Загрузка нескольких файлов; в настольной версии можно загружать целые папки (структура подкаталогов сохраняется), файлы с одинаковым именем перезаписываются, на панели показан ход загрузки |
| Скачивание | Потоковое скачивание с поддержкой докачки (Range) |
| Редактирование | Просмотр и сохранение текстовых файлов; файлы больше 1 МБ и двоичные файлы просмотреть нельзя |
| Переименование, копирование, вставка | При копировании в тот же каталог имя автоматически меняется на name копия.ext, name копия 2.ext |
| Удаление | Пакетное удаление нескольких объектов, каталоги удаляются рекурсивно, корневой каталог защищён |
| Архивация и распаковка | Архивация в zip или tar.gz; распаковка zip, tar, tar.gz, tgz; перед распаковкой можно просмотреть содержимое архива (до 10000 записей); архивацию и распаковку выполняет сам Gately, устанавливать команды на удалённом хосте не требуется |
| Изменение прав | Восьмеричные права (от 0 до 7777), для каталогов можно применить рекурсивно |
| Быстрый доступ | Для каждого подключения сохраняются часто используемые каталоги, переход в один клик |
При распаковке архив с записями, содержащими .., отклоняется целиком для защиты от обхода каталогов, записи-символические и жёсткие ссылки пропускаются, а из прав файла сохраняются только биты rwx. На мобильных устройствах панель предоставляет режим множественного выбора и панель действий.
Быстрые команды
Выпадающее меню «Быстрые команды» содержит глобальные команды; нажатие отправляет команду в текущий терминал. Каждая команда состоит из полей name, command и sendEnter (нужно ли автоматически нажимать Enter после отправки). Добавлять, изменять и удалять команды можно через пункт «Управление быстрыми командами» внизу меню.
Разделение экрана
Меню «Разделение» на панели инструментов предлагает разделение слева направо, сверху вниз и сеткой; одновременно отображается не более 4 панелей. После включения разделения новые подключения автоматически добавляются в него, также можно добавить сессию, нажав на другую вкладку; в заголовке панели сессию можно вывести из разделения. Раскладка хранится на сервере и восстанавливается после обновления страницы. На узком экране разделение автоматически отключается, сохранённая раскладка при этом не удаляется.
Адаптация для мобильных устройств
- На узком экране список подключений и терминал показываются отдельными представлениями; кнопка «назад» в левом верхнем углу терминала возвращает к списку;
- Область терминала следует за видимой частью окна и автоматически уменьшается, когда появляется экранная клавиатура;
- Нижняя панель виртуальных клавиш содержит
Esc,Tab,Ctrl,Alt(залипающие), стрелки (повтор при удержании), часто используемые символы, вход в быстрые команды и кнопку вызова клавиатуры.
Безопасность
Терминал равносилен выполнению любых команд на целевом хосте, поэтому Gately по умолчанию вводит следующие ограничения:
- Локальная оболочка по умолчанию выключена, её нужно явно включить в настройках;
- Подтверждение соглашения: при первом включении локальной оболочки, создании сессии, подключении к сессии или использовании файлового менеджера показывается пользовательское соглашение; чтобы продолжить, отметьте согласие;
- Двухфакторная аутентификация (2FA): после привязки TOTP-аутентификатора по QR-коду в настройках безопасности для перечисленных операций требуется ввод 6-значного кода. После успешной проверки текущему токену входа не нужно повторять её в течение 30 минут; после 5 неверных вводов подряд токен входа блокируется на 1 минуту;
- Пароли подключений, закрытые ключи и пароли прокси маскируются в ответах API.
WARNING
Перед включением локальной оболочки включите двухфакторную аутентификацию для панели управления и используйте «доступ только из внутренней сети» или VPN.
API
Полное описание интерфейса — в API веб-терминала.
Миграция из Lucky
Можно импортировать lucky_webterminal.lkcf: подключения SSH и Telnet, прокси, keyFile, workDir, таймауты, переменные окружения, каталоги быстрого доступа, настройки сессий, глобальные быстрые команды, а также пользовательское соглашение и ключ 2FA. При первом подключении по SSH запоминается отпечаток ключа хоста.