Руководство пользователя Berth
SFTP · терминал · последовательная консоль в одном окне — от добавления сервера до горячих клавиш
🚀Начало работы
Устройство экрана
В одном окне — четыре области.
- Боковая панель сайтов — слева. Серверы, последовательные консоли и папки показаны в виде дерева.
- Колонка сеансов — открытые сеансы. Цветная полоса показывает, к какому серверу относится сеанс.
- Рабочая область — сверху панель файлов (локальные и удалённые), снизу терминал. Перетащите разделитель, чтобы изменить пропорции.
- Строка состояния — внизу. Показывает, что происходит прямо сейчас.
Добавление первого сервера
- Щёлкните правой кнопкой по пустому месту боковой панели или нажмите ⌘N.
- Введите имя и адрес сервера. Если оставить поля пользователя и порта пустыми, будут использованы значения по умолчанию.
- В списке двойной клик выполняет подключение. Одиночный клик — это выбор.
ssh alias, заново вводить ничего не нужно.
В меню боковой панели выберите «Импорт из ~/.ssh/config» (⌘⇧I) — так добавляются все такие серверы сразу.
Можно также импортировать список сайтов FileZilla.Смена языка
В меню Berth › Настройки (⌘,) выберите один из 20 языков. По умолчанию используется язык системы, а выбранный язык применяется только к этому приложению. Изменение вступает в силу после перезапуска приложения.
🗂Серверы и папки
Группировка в папки и наследование
Если объединить серверы в папку (⌘⇧N), настройки наследуются вниз. Достаточно один раз задать для папки имя пользователя или уровень «Осторожно» — и все серверы внутри неё унаследуют это значение. Это устройство существует, чтобы не вводить одно и то же значение двадцать раз для двадцати серверов.
Под каждым полем окна настроек указано, откуда взялось значение — задано ли оно вручную или унаследовано от какой-то папки, — а кнопка сброса возвращает поле к наследованию.
Уровень «Осторожно» — разработка · стейджинг · продакшн
Уровень важнее цвета. Для продакшн опасные действия требуют дополнительного подтверждения. В списке сессий он заливается выбранным вами цветом и обозначается красной рамкой, поэтому несколько продакшн-серверов по-прежнему различаются по цвету. Там, где показан только один (диалоги подтверждения и т. п.), он остаётся красным как явное предупреждение.
Правила кликов
- Один клик — выбор (чтобы посмотреть настройки или переместить элемент)
- Двойной клик — для сервера: подключение, для папки: развернуть/свернуть
- Треугольник перед папкой разворачивает её одним нажатием.
🔑Подключение и аутентификация
При первом подключении — доступ к папке
Berth соблюдает правила App Store (песочницу) и не читает домашнюю папку самовольно. При первом
открытии сервера будет предложено один раз выбрать папку с настройками SSH, ключами и known_hosts
(обычно это ~/.ssh). Выбор запоминается, и вопрос больше не появится. Если ключи хранятся
в другом месте, можно выбрать домашнюю папку.
По той же причине локальная панель файлов использует выбранную вами папку в качестве корня — изменить её можно через заголовок панели, кнопкой «Открыть локальную папку», и этот выбор тоже запоминается.
Используется ~/.ssh/config как есть
При подключении по алиасу читаются host, порт, пользователь, файл ключа, ProxyJump и
StrictHostKeyChecking из этой записи. Даже если сохранённый порт устарел, побеждает файл настроек.
ProxyCommand запускает внешнюю программу,
поэтому блокируется песочницей — для промежуточного хоста используйте ProxyJump.
ssh-agent тоже недоступен, поэтому файлы ключей читаются напрямую, а для ключа, защищённого
паролем, пароль запрашивается при подключении.Способ аутентификации
- Автоматически — решение остаётся за ssh. Опробуются все стандартные ключи, а если ни один не подошёл, пароль запрашивается в терминале.
- Файл ключа — используется только указанный ключ.
- Пароль — ключи не используются.
ssh, подходит режим «Автоматически».
Указание ключа «на всякий случай» скорее помешает подключению — будет опробован только этот один ключ.Когда сервер запрашивает
Если пароль сохранён, при подключении он подставляется один раз вместо ручного ввода. На остальные вопросы — код двухфакторной аутентификации, повторный ввод неверного пароля, пароль для ключа, защищённого паролем — вы отвечаете сами: в окне «Сервер запрашивает» вопрос сервера показывается как есть. Чтобы не заблокировать учётную запись, сохранённый пароль подставляется автоматически только один раз, а всего вопрос задаётся не более трёх раз.
Чтобы не вводить пароль каждый раз
Щёлкните сервер правой кнопкой и выберите «Зарегистрировать открытый ключ на этом
сервере…» — открытый ключ из ~/.ssh будет загружен на сервер. Со следующего
раза подключение пойдёт по ключу.
Сохранённый пароль хранится только в Связке ключей macOS. В файле настроек остаётся лишь отметка «сохранено», а сам пароль туда не попадает.
Неизвестный сервер, изменившийся ключ хоста
При первом подключении к серверу показываются тип и отпечаток ключа, и вас спрашивают,
запомнить ли его. Если запомнить, запись добавляется в ~/.ssh/known_hosts в том же виде,
что и у ssh, и вопрос больше не появится.
Появляется и тогда, когда подлинность сервера отличается от прошлого раза. Причиной может
быть атака «человек посередине» — или переустановка сервера. Berth не решает за вас, а даёт
материал для решения — тип и отпечаток старого и нового ключа, а также команду для сверки
прямо в консоли устройства. Проверив, нажмите «Удалить старый ключ и запомнить новый» — старая запись
будет удалена (с резервной копией в known_hosts.old) и добавится новый ключ.
known_hosts при этом не трогается. Для уровня «Продакшн» этот параметр не включается.Панель файлов (SFTP)
Отправка и скачивание
Слева — ваш Mac, справа — сервер. Перетащите файл или отправьте его сочетаниями ⌥⌘→ (отправка) · ⌥⌘← (скачивание). Ход передачи отображается в строке передач.
Панель файлов, следующая за терминалом
При выполнении cd в терминале удалённая панель переходит в ту же папку. Если это
мешает, отключите слежение сочетанием ⌘⇧L.
Избранные места · вид
- ⌘D — добавляет или убирает текущий путь из закреплённых. Закреплённый путь становится корнем дерева.
- ⌘↓ — переходит внутрь выбранной папки. ⌘↑ возвращает на один уровень назад.
- ⌥⌘T — переключение вида дерево ↔ список. Для папок с тысячами файлов список удобнее.
- ⌘R — перечитать.
- ⌘⇧F — поиск на сервере. Список перебирает не приложение — на сервере выполняется
find.
Показ различий
Включив режим сочетанием ⌘⇧Y, вы сравниваете локальные и удалённые файлы бок о бок и видите отличающиеся файлы и файлы, которых нет на одной из сторон. Используйте, когда нужно отправить только необходимое.
Удаление
⌘⌫ по умолчанию перемещает файл в корзину на сервере и всегда запрашивает подтверждение. Если на сервере корзина отключена, об этом предупредят заранее — действие будет необратимым.
⌨️Терминал
Это настоящая оболочка, в которой vim·tmux·less работают без изменений. Выделяйте текст перетаскиванием мыши и копируйте сочетанием ⌘C — команда вставляется чисто, без заполняющих пробелов в конце строки.
Подтверждение вставки
При вставке нескольких строк сначала показывается, что именно будет выполнено. Вставка с переносами строк сразу превращается в команды. Потенциально опасные строки отмечаются с указанием причины.
Широкий вид
⌘↩ разворачивает текущую область на весь экран, повторное нажатие возвращает прежний вид. ⌥⌘↩ разворачивает только одну панель. Размер шрифта меняется сочетаниями ⌘+ · ⌘- · ⌘0. Очистите терминал клавишей ⌘L — экран и история прокрутки стираются, остаётся только текущая строка приглашения.
🔌Последовательная консоль (UART)
Выбор устройства
Сочетанием ⌃⌘N добавьте последовательную консоль и выберите подключённое устройство в настройках. Berth запоминает не путь, а само устройство — по серийному номеру, если он есть, иначе по типу устройства. Тот же прибор будет найден, даже если подключить его в другой USB-порт.
Скорость и параметры линии
Скорость можно выбрать из списка или ввести вручную (допустимы и нестандартные значения вроде 1,500,000 — главное, чтобы их принимал адаптер). По умолчанию установлено 8N1 · без управления потоком — это подходит для большинства консолей.
- Управление потоком — включайте только при 4-проводном кабеле (RTS/CTS). На 3-проводном кабеле включение, наоборот, заблокирует передачу.
- Дополнительно (чётность · биты) — разворачивается нажатием на строку. Используйте только когда значения отличаются от стандартных, например для загрузчика STM32 (8E1).
Панель истории
В сеансе последовательной консоли справа со временем накапливаются введённые команды и ответы на них. Ввод в местах, где запрашивался пароль, скрывается.
⚡Горячие клавиши
В горячих клавишах приложения всегда присутствует ⌘. Сочетания с ⌃·⌥ оставлены оболочке и TUI-программам (vim·tmux) — приложение их не перехватывает.
| Клавиша | Действие |
|---|---|
| ⌘N · ⌃⌘N · ⌘⇧N | Добавить сервер · Добавить последовательную консоль · Создать папку |
| ⌘I · ⌘⇧I | Настройки этого сервера · Импорт из ~/.ssh/config |
| ⌘K | Куда перейти — поиск по имени с мгновенным переходом |
| ⌘1 … ⌘9 | Переключение сеансов |
| ⌃⌘← → ↑ ↓ | Перемещение между панелями |
| ⌘↩ · ⌥⌘↩ | Развернуть / восстановить · Развернуть только эту панель |
| ⌘⇧S · ⌥⌘↑ ⌥⌘↓ | Боковая панель · перемещение разделителя |
| ⌥⌘→ · ⌥⌘← | Отправка · скачивание |
| ⌘D · ⌘R · ⌥⌘N | Закрепить/открепить · Перечитать · Новая папка |
| ⌘↓ · ⌘↑ · ⌥⌘T | Перейти внутрь · вернуться назад · дерево↔список |
| ⌘⌫ · ⌘⇧F | Удалить на сервере · Поиск на сервере |
| ⌘⇧V · ⌘⇧L · ⌘⇧Y | Путь в терминал · следовать за терминалом · показ различий |
| ⌘+ ⌘- ⌘0 · ⌘⇧W | Размер шрифта · закрыть этот сеанс |
| ⌘L · ⌘] ⌘[ | Очистить терминал · Переключить вкладки правой панели |
| ⌘C · ⌘⇧P · ⌘⇧U · ⌘? | Копировать · В журнал · Отправить манифест снова · Руководство |
❓Частые вопросы
Где хранится пароль?
Хранится только в Связке ключей macOS. В файле настроек остаётся лишь отметка «сохранено». Связка ключей открывается только один раз — в момент подключения.
Собирается ли статистика использования?
Нет. В приложении нет никакой аналитики. Не отслеживается, что вы открываете и к чему подключаетесь.
Последовательная консоль останавливается посреди работы.
Это свойство линии при большом объёме данных на UART без управления потоком. Если используется 4-проводной кабель, включите в настройках управление потоком (RTS/CTS). Если кабель 3-проводной, снизьте скорость со стороны платы или выводите данные через пейджер постранично.
Нужно ли заново вводить уже настроенный SSH?
Нет. При импорте из ~/.ssh/config подключение идёт по тому же алиасу, и читаются host,
порт, пользователь, ключ и ProxyJump из этой записи.
У меня используется ProxyCommand.
ProxyCommand запускает внешнюю программу, поэтому в песочнице App Store он недоступен.
Если в настройках используется промежуточный хост, замените его на ProxyJump — и всё
заработает как прежде. ssh-agent недоступен по той же причине: файлы ключей читаются напрямую, а для
ключа, защищённого паролем, пароль запрашивается при подключении.
Какие версии macOS поддерживаются?
macOS 14 (Sonoma) и новее, поддерживаются Apple Silicon и Intel.
Если это было полезно
Berth бесплатен. Поддержать разработку можно через страницу поддержки.