android-ssh-client/README.md

5.1 KiB
Raw Permalink Blame History

Android OpenBSD SSH Implementation

Структура

Приложение использует библиотеку JSch для установления соединения с удалённым сервером, в качестве алгоритма шифрования используется Diffie-Hellman. Приложение автоматически создаёт и сохраняет ключи в базе данных sqlite, ключи удаляются вместе с профилем.

Взаимодействие с shell происходит через эмулятор терминала который отрисовывает вывод терминала в PlainText, команды записываются в input field который целиком их отсылает по установленному каналу SSH 2.0.

Всвязи со сложностью реализации горячих клавиш в консоли на телефонном клиенте было принято решение создать 3 кнопки в интерактивном терминале для 3-х наиболее популярных горячих клавиш: "Ctrl+C" (прерывание процесса), "Ctrl+D" (выход из окружения), "Ctrl+L" (очистка терминала)


Инструкция по использованию

1 Запуск

Запустите приложение кликнув по логотипу на рабочем столе телефона, вы увидете меню редактирования подключения android-1

2 Создание профиля

Заполните поля профиля подключения, кликните по кнопке "Save Profile", можете назвать ваш профиль как вам удобно

android-2

3 Проверка подключения

Проверьте правильность введённых вами данных, кликните на кнопку "Connect SSH", если данные для подключения правильные вы увидите следующий вывод в логах приложения

android-3

4 Содержимое домашней директории

Так-же вы можете не открывая интерактивный терминал для теста запустить команду, которая отображает содержимое домашней директории

android-4

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

Нажмите на кнопку "Open Interactive Terminal", вы попадёте в эмулятор терминальной сессии

android-5

6 Ввод команд

Команды в интерактивном терминале вводятся через input field ниже эмулятора терминала, отправляются команды по кнопке "Send"

android-6

7 Вывод команд

Вывод команд отображается в эмуляторе терминала выше поля ввода

android-7

8 Блокирующий вывод

Некоторые команды могут блокировать ввод других команд, что бы "убить" блокирующий процесс нажмите на кнопку "Ctrl+C"

android-8

9 Блокирующее Внутреннее окружение

Некоторые команды могут запускать своё внутреннее окружение блокирующее доступ к родительскому терминалу, что бы выйти из такого окружение нажмите на кнопку "Ctrl+D"

android-9

10 Выход из сессии

Будьте осторожны ! Нажатие на "Ctrl+D" будучи в родительском терминале "убьёт" SSH подключение

android-10

11 Очистка терминала

Если вам нужно полностью очистить длинный вывод в эмуляторе терминала нажмите на кнопку "Clear"

android-11