Конечно же основной задачей смартфона является не сканирование сетей на уязвимости, но тем не менее приложение «Терминал Линукса» всё же для него имеется, а через него уже можно и дальше «лапки запустить».
Первым делом, о каком приложении речь:
https://play.google.com/store/apps/details?id=com.termux
Из неприятных моментов сразу хочу обозначить, что со всеми расширениями приложение будет требовать весьма немало памяти, современные смартфоны не заметят, а вот владельцы «морально устаревших» версий смартфонов действительно расстроятся. Я лишь второй день тестирую возможности Termux (устанавливая дополнения и т.д.), а ПО уже на смартфоне занимает 1.73 Gb, т.е. для меня привыкшего, что приложения занимают максимум 500 Mb, эта цифра несколько великовата.
В то же время, бывают случаи, когда у пользователя, современный смартфон, а вот компьютер, наоборот, давно просит модерна (но ни денег на это нет ни времени этим заниматься), стоит у него винда на компе, а тоже хочется почувствовать себя линуксоидом. И здесь есть два пути, первый – грохнуть Windows, к которому так привык и поставить Linux, но что, если компьютером пользуется кто-нибудь ещё в семье, это без сомнения добавит проблему, даже если Вы сами готовы пойти на такой шаг. И вот второй путь – установка Termux на смартфон и подключение к нему через SSH.
Конечно, для этого нам понадобится специальное программное обеспечение, мы рассмотрим на примере SSH-клиента от Bitvise.
Скачать можно здесь: https://www.bitvise.com/ssh-client-download
После установки, необходимо будет его настроить, для этого переходим в Client Key Manager:
Нажимаем кнопку «Generate new».
Здесь будет предложено использовать «Парольную фразу» (Passphrase), я её добавлять не стал.
При экспорте выберите «public key».
На странице Login, в поле Host указываем IP мобильного устройства (можно посмотреть с помощью команды ifconfig, в Termux).
Следующий шаг – поместить сгенерированный ключ в Android-устройство, я не стал заморачиваться с подключением телефона к компу, а просто отправил себе ключ по почте. Скачанный телефоном файл оказался в каталоге загрузок.
Берём наше Android-устройство и в Terminux пишем следующее:
apt install openssh
Устанавливаем ssh, вероятно придётся ставить флаг «y» (yes).
pkill sshd
Останавливаем текущий процесс SSH (на случай, если он включён, чтобы изменить настройки).
termux-setup-storage
Подключаем внутреннюю память (Нажать «Разрешить», на системном сообщении).
cat ~/storage/downloads/termux.pub>>~/.ssh/auhtorized_keys
Авторизуем наш ключ, здесь обращу внимание на то, что termux.pub – это имя загруженного файла (У Вас оно может отличаться).
Sshd
Запускаем SSH хост.
Возвращаемся к нашему Bitsive SSH Client, здесь необходимо указать локальный IP-адрес Android-устройства в поле хоста. Узнать его можно с помощью команды:
Ifconfig
Порт 8022, логин root.
И нажимаем кнопку Log in.
Если Вы всё сделали без ошибок, то получите подключение к устройству. Однако велика вероятность, что Вы, могли допустить те же ошибки, которые допустил я.
Итак, первое, внимательно смотрите за тем, какие команды Вы вводите и действительно ли устройство пропустило команду именно так, как Вы её написали, объясню, что я имею ввиду. Мой телефон посчитал, что слово «authorized» записано неверно и как бы случайно удалил букву h из него. А я долгое время после не мог понять, почему у меня нет файла-ключа (он то был, но по другому адресу).
Для того, чтобы убедиться есть ли ключи и в нужном ли они месте расположены, воспользуйтесь командами:
cd .ssh
(на этом моменте можно воспользоваться командой ls, чтобы посмотреть содержимое каталога)
cat authorized_keys
Если Вы всё сделали правильно (и ключи установлены), то будет куча букв, с началом:
---- BEGIN SSH2 PUBLIC KEY ----
В противном случае будет строка: cat: authorized_keys: No such file or directory
Вторая «ошибка», доставившая мне весьма немало неудобств (её описания я так же нигде не нашёл, поэтому решил поделиться в этом обзоре), заключается в моей «невнимательности» – дело в том, что во всех мануалах пишут – указываем локальный IP Android-устройства. Это значит, что если Вы хотите подключиться к телефону, Вам необходимо с мобильного интернета (который в идеале, вообще лучше отключить на время работы) переключиться на Wi-Fi, поскольку «локальный IP», полученный через ifconfig (при мобильном интернете) – не даст Вам подключиться к устройству.