5.1 KiB
Android OpenBSD SSH Implementation
Структура
Приложение использует библиотеку JSch для установления соединения с удалённым сервером, в качестве алгоритма шифрования используется Diffie-Hellman. Приложение автоматически создаёт и сохраняет ключи в базе данных sqlite, ключи удаляются вместе с профилем.
Взаимодействие с shell происходит через эмулятор терминала который отрисовывает вывод терминала в PlainText, команды записываются в input field который целиком их отсылает по установленному каналу SSH 2.0.
Всвязи со сложностью реализации горячих клавиш в консоли на телефонном клиенте было принято решение создать 3 кнопки в интерактивном терминале для 3-х наиболее популярных горячих клавиш: "Ctrl+C" (прерывание процесса), "Ctrl+D" (выход из окружения), "Ctrl+L" (очистка терминала)
Инструкция по использованию
1 Запуск
Запустите приложение кликнув по логотипу на рабочем столе телефона, вы увидете меню редактирования подключения

2 Создание профиля
Заполните поля профиля подключения, кликните по кнопке "Save Profile", можете назвать ваш профиль как вам удобно
3 Проверка подключения
Проверьте правильность введённых вами данных, кликните на кнопку "Connect SSH", если данные для подключения правильные вы увидите следующий вывод в логах приложения
4 Содержимое домашней директории
Так-же вы можете не открывая интерактивный терминал для теста запустить команду, которая отображает содержимое домашней директории
5 Интерактивный терминал
Нажмите на кнопку "Open Interactive Terminal", вы попадёте в эмулятор терминальной сессии
6 Ввод команд
Команды в интерактивном терминале вводятся через input field ниже эмулятора терминала, отправляются команды по кнопке "Send"
7 Вывод команд
Вывод команд отображается в эмуляторе терминала выше поля ввода
8 Блокирующий вывод
Некоторые команды могут блокировать ввод других команд, что бы "убить" блокирующий процесс нажмите на кнопку "Ctrl+C"
9 Блокирующее Внутреннее окружение
Некоторые команды могут запускать своё внутреннее окружение блокирующее доступ к родительскому терминалу, что бы выйти из такого окружение нажмите на кнопку "Ctrl+D"
10 Выход из сессии
Будьте осторожны ! Нажатие на "Ctrl+D" будучи в родительском терминале "убьёт" SSH подключение
11 Очистка терминала
Если вам нужно полностью очистить длинный вывод в эмуляторе терминала нажмите на кнопку "Clear"









