android-ssh-client/README.md

66 lines
No EOL
5.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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](https://git.linuxp.tech/helldh/static-files/raw/branch/main/android/android-1.png)
## 2 Создание профиля
Заполните поля профиля подключения, кликните по кнопке "Save Profile", можете назвать ваш профиль как вам удобно
![android-2](https://git.linuxp.tech/helldh/static-files/raw/branch/main/android/android-2.png)
## 3 Проверка подключения
Проверьте правильность введённых вами данных, кликните на кнопку "Connect SSH", если данные для подключения правильные вы увидите следующий вывод в логах приложения
![android-3](https://git.linuxp.tech/helldh/static-files/raw/branch/main/android/android-3.png)
## 4 Содержимое домашней директории
Так-же вы можете не открывая интерактивный терминал для теста запустить команду, которая отображает содержимое домашней директории
![android-4](https://git.linuxp.tech/helldh/static-files/raw/branch/main/android/android-4.png)
## 5 Интерактивный терминал
Нажмите на кнопку "Open Interactive Terminal", вы попадёте в эмулятор терминальной сессии
![android-5](https://git.linuxp.tech/helldh/static-files/raw/branch/main/android/android-5.png)
## 6 Ввод команд
Команды в интерактивном терминале вводятся через input field ниже эмулятора терминала, отправляются команды по кнопке "Send"
![android-6](https://git.linuxp.tech/helldh/static-files/raw/branch/main/android/android-6.png)
## 7 Вывод команд
Вывод команд отображается в эмуляторе терминала выше поля ввода
![android-7](https://git.linuxp.tech/helldh/static-files/raw/branch/main/android/android-7.png)
## 8 Блокирующий вывод
Некоторые команды могут блокировать ввод других команд, что бы "убить" блокирующий процесс нажмите на кнопку "Ctrl+C"
![android-8](https://git.linuxp.tech/helldh/static-files/raw/branch/main/android/android-8.png)
## 9 Блокирующее Внутреннее окружение
Некоторые команды могут запускать своё внутреннее окружение блокирующее доступ к родительскому терминалу, что бы выйти из такого окружение нажмите на кнопку "Ctrl+D"
![android-9](https://git.linuxp.tech/helldh/static-files/raw/branch/main/android/android-9.png)
## 10 Выход из сессии
Будьте осторожны ! Нажатие на "Ctrl+D" будучи в родительском терминале "убьёт" SSH подключение
![android-10](https://git.linuxp.tech/helldh/static-files/raw/branch/main/android/android-10.png)
## 11 Очистка терминала
Если вам нужно полностью очистить длинный вывод в эмуляторе терминала нажмите на кнопку "Clear"
![android-11](https://git.linuxp.tech/helldh/static-files/raw/branch/main/android/android-11.png)