Перейти к содержанию

Android · открытый исходный код

SSH Mobile

Ваши серверы. Всегда под рукой

Нативный SSH-клиент для Android: интерактивный терминал, SFTP, ключи, jump host и проброс портов. Без рекламы, аналитики и облака — серверы и учётные данные остаются на устройстве.

Статус / В RuStore — 0.1.2 · 0.3.0 на модерации

Android
10+
Android
языки
RU · EN
языки
трекеров
0
трекеров
htop, запущенный в терминале SSH Mobile
v0.3.0
prod-web-01 — терминал

$ ssh deploy@prod-web-01

Welcome to Ubuntu 24.04 LTS

deploy@prod-web-01:~$ htop

deploy@prod-web-01:~$ vim nginx.conf

01 — Возможности

Всё для работы с сервером — без ноутбука

Восемь блоков, которые закрывают повседневное администрирование: от подключения по ключу до правки конфигов и передачи файлов.

  • 01

    Интерактивный терминал

    VT100/xterm с поддержкой bash, zsh, htop, vim, nano и less. Экранные клавиши Ctrl, Alt, Esc и Tab, стрелки, копирование и вставка.

    ssh · pty
  • 02

    Файлы по SFTP

    Просмотр каталогов, создание папок, переименование, удаление и смена прав. Загрузка и скачивание через системный выбор файлов с прогрессом и очередью.

    sftp · 0.3
  • 03

    Пароль и SSH-ключи

    Ключи PEM и OpenSSH с passphrase, импорт из файла, вход по паролю. Ключ и пароль шифруются перед сохранением в базу приложения.

    auth
  • 04

    Jump host

    Подключение через сохранённый сервер-шлюз. Проверяются оба host key — и шлюза, и целевого сервера; вложенные цепочки не поддерживаются.

    proxyjump
  • 05

    Проброс портов

    Локальный и удалённый форвардинг. По умолчанию проброс слушает 127.0.0.1 и закрывается вместе с SSH-сессией.

    forwarding
  • 06

    Несколько сессий

    Держите открытыми несколько подключений сразу, переключайтесь между ними и переподключайтесь после обрыва связи без потери списка серверов.

    sessions
  • 07

    Сниппеты и история

    Частые команды — под рукой. История ввода выключена по умолчанию, хранится зашифрованной и не перехватывает стрелки в TUI-программах.

    local
  • 08

    Защита учётных данных

    Android Keystore с AES-256-GCM, проверка host key по SHA-256, предупреждение при смене ключа сервера и экспорт конфигурации без секретов.

    keystore

SFTP, ProxyJump, проброс портов и расширенный терминал добавлены в версии 0.3.0 из репозитория; в RuStore на дату сборки доступна 0.1.2.

02 — Скриншоты

Как это выглядит на телефоне

Реальные экраны из репозитория проекта. Нажмите на снимок, чтобы открыть его крупнее и полистать галерею.

Все скриншоты в репозитории

03 — Преимущества

Сделано под Android, а не под браузер

Приложение собрано на Kotlin и Jetpack Compose. Никакой WebView-обёртки, тяжёлых SDK и фоновой телеметрии.

language
Kotlin 2.1
ui
Jetpack Compose
ssh client
SSHJ
storage
Room + Keystore
minSdk
29 / Android 10+
license
Apache-2.0
  • 01

    Нативный Android

    Kotlin, Jetpack Compose и SSH-транспорт SSHJ. Приложение ведёт себя как системное: тёмная тема, жесты, экранные клавиши, предсказуемая работа клавиатуры.

  • 02

    Русский интерфейс

    Русский и английский языки с мгновенным переключением без перезапуска. Все строки, диалоги и ошибки локализованы.

  • 03

    Удобное управление

    Панель Ctrl/Alt/Esc/Tab, выбор моноширинного шрифта, размера текста и четырёх цветовых схем терминала — под маленький экран и одну руку.

  • 04

    Локальные данные

    Нет аккаунтов, аналитики, рекламных SDK и облачной синхронизации. Резервное копирование средствами Android отключено, данные удаляются вместе с приложением.

  • open source

    Apache-2.0 · dev.sshmobile

    github.com/mars485/ssh-mobile

04 — Безопасность

Учётные данные не покидают устройство

Модель угроз и детали реализации описаны в документации проекта. Ниже — то, что можно проверить в коде и на устройстве.

keystore / credentials
cipher  AES/GCM/NoPadding
key     AndroidKeyStore (non-exportable)
store   Room · secrets sealed
backup  android:allowBackup="false"
Документация по безопасности
  • key · non-exportable

    Android Keystore

    Пароли, приватные ключи и passphrase шифруются ключом, который создаётся в аппаратно-защищённом хранилище Android и не экспортируется. Расшифровка — только для активного подключения.

  • aead

    AES-256-GCM

    Симметричное шифрование с аутентификацией: изменение шифротекста обнаруживается при расшифровке. Секреты не попадают в логи и не выгружаются в резервные копии.

  • tofu · sha-256

    Проверка host key

    При первом подключении показывается SHA-256 fingerprint сервера. Смена ключа требует явного подтверждения — в том числе при работе через jump host.

  • no secrets

    Контроль экспорта

    Экспорт конфигурации выгружает серверы и настройки, но не пароли, приватные ключи и passphrase. Импорт позволяет сохранить сервер и заполнить учётные данные позже.

Чего в приложении нет

  • аналитики и crash-репортинга
  • рекламных и трекинговых SDK
  • облачной синхронизации и аккаунтов
  • чтения буфера обмена без действия пользователя

05 — Как начать

Три шага до первого подключения

Нужен только телефон и доступ к любому SSH-серверу. Демо-аккаунта нет по соображениям безопасности — тестовый сервер поднимается локально.

  1. 01

    Установите приложение

    Откройте карточку в RuStore и установите актуальную версию. Для сборки из исходников нужен Android Studio и JDK 17.

    git clone https://github.com/mars485/ssh-mobile
  2. 02

    Добавьте сервер

    Укажите имя, адрес, порт и пользователя. Выберите вход по паролю или вставьте приватный ключ, при необходимости — passphrase.

    host: 192.0.2.10 port: 22 user: deploy
  3. 03

    Подключитесь

    Проверьте SHA-256 fingerprint сервера и подтвердите его. Дальше — обычный терминал: команды, htop, редакторы, передача файлов по SFTP.

    SHA256:9f2c…a71b accepted

APK из репозитория — релизные сборки. Для проверки советуем собственный тестовый sshd: инструкция в docs/TESTING.md.

Открыть в RuStore

06 — История версий

Что менялось

Полный список изменений ведётся в CHANGELOG.md репозитория.

Открыть CHANGELOG.md
  1. 0.3.0

    8 ноября 2026 на модерации RuStore
    • SFTP: файловый менеджер, загрузка и скачивание через SAF, очередь передач, права доступа.
    • Сниппеты команд и локальная история с шифрованием, выбор шрифта и четыре цветовые схемы.
    • Jump host, локальный и удалённый проброс портов.
    • Экспорт и импорт конфигурации без паролей и ключей.
  2. 0.1.2

    29 октября 2026 в RuStore
    • Исправлено падение при открытии экрана добавления сервера после локализации.
    • Импорт SSH-ключа через системный выбор файла снова работает.
    • Проверено на HONOR Android 14 и эмуляторе Android 15.
  3. 0.1.1

    29 октября 2026
    • Русская локализация и переключение языка без перезапуска.
    • Форма сервера больше не перекрывается экранной клавиатурой.
    • Материалы для RuStore, политика конфиденциальности и лицензии.
  4. 0.1.0

    29 октября 2026
    • Первый MVP: менеджер серверов, пароль и SSH-ключ, PTY-терминал.
    • Проверка host key, Android Keystore, несколько сессий, переподключение.
    • 40 автоматических тестов; проверка на Android 14 и 15.

07 — FAQ

Частые вопросы

Если ответа нет — создайте issue в репозитории: это самый быстрый канал поддержки.

GitHub Issues
Приложение бесплатное?

Да. SSH Mobile распространяется бесплатно, без рекламы, встроенных покупок и подписок. Исходный код открыт на GitHub под лицензией Apache-2.0.

Нужен ли собственный сервер?

Да. Приложение подключается к любому серверу с SSH: VPS, домашний сервер, Raspberry Pi, роутер. Публичного демо-сервера нет — как поднять локальный sshd для проверки, описано в docs/TESTING.md.

Какие способы входа поддерживаются?

Пароль и приватный ключ в форматах PEM и OpenSSH, в том числе с passphrase. Ключ можно вставить текстом или импортировать из файла через системный выбор файлов.

Данные куда-то передаются?

Нет. В приложении нет аналитики, crash-репортинга и трекеров. Соединения устанавливаются только к серверам, которые вы добавили сами, а серверы, ключи и отпечатки host key хранятся на устройстве.

Есть ли SFTP и проброс портов?

Да, в версии 0.3.0: файловый менеджер SFTP с очередью передач, jump host, локальный и удалённый проброс портов. На дату публикации сайта в RuStore доступна 0.1.2, версия 0.3.0 находится на модерации; собрать её можно из репозитория.

Какая минимальная версия Android?

Android 10 и новее. Приложение проверено на HONOR с Android 14 и на эмуляторе Android 15.

Можно ли перенести серверы на новый телефон?

Да, через экспорт и импорт конфигурации. Пароли, приватные ключи и passphrase в файл не попадают — их нужно ввести заново. Автоматической синхронизации через облако нет.

Где сообщить об ошибке или уязвимости?

Об ошибках — в GitHub Issues. Об уязвимостях — по инструкции из docs/SECURITY.md; не прикладывайте реальные пароли и приватные ключи.

Сервер под рукой, когда он нужен

Установите SSH Mobile из RuStore или соберите APK из исходников — и подключайтесь к своим серверам с телефона.

Android 10+ · бесплатно · без рекламы и трекеров