Ssh server для андроид

Ssh server для андроид

Для функционирования программы необходимы права root пользователя.

Выложенные здесь установщики рассчитаны на ARM-устройства.

Описание:
Из многочисленных вариантов установки SSH/SFTP-сервера на телефонах и планшетах я остановился на предложенном ниже способе, основанном на этой статье.

Во-первых, минимум различных багов при правильной настройке. Во-вторых, установка занимает относительно небольшой размер памяти на устройстве (10-11 МБ). В третьих, вместе с ssh-сервером появляется интегрированная opkg-среда, с возможностью установки огромного числа Linux-пакетов из репозитория Entware-ng, изначально предназначавшийся для установки дополнительного софта на роутеры и прочие сетевые железки. Этот репозиторий достаточно часто обновляется — последнее обновление было 19 апреля 2017 г.

Cчитаю, что данная тема соответствует разделу — мы эмулируем роутер:)

Установка (Android 4 или новее): (apk-программы созданы с помощью Tasker)
1. Entware_Dropbear_Installer_v1.1_19Apr17.apk ( 6.46 МБ )

Требования: если стоит SuperSU, то в его настройках создание поименного разделения пространств должно быть отключено; установка во внутреннюю память устройства; пути /bin, /opt, /tmp, /data/local/entware-ng и /sdcard/entware-dropbear не должны существовать. Желательно, чтобы файла /system/etc/resolv.conf тоже не существовало (в противном случае разбирайтесь c настройкой DNS сами). Инструкция: установить, нажать на кнопку Install, дать рут-права, дождаться, когда кнопка получит надпись Installed. Если установилось нормально, то должен появиться файл-бинарник /opt/sbin/dropbear. Если таковой имеется, переходим в п. 2. Если что-то сделали не так, перезагружайтесь, удаляйте указанные выше пути и пытайтесь запустить еще раз (предварительно нажав Reset в меню программы).
2. Universal_Autocontrol_v1.1.apk ( 2.44 МБ )

Инструкция: установить, нажать на кнопку Start, дать рут права, проверить ssh-соединение (порт — 22, логин — root, пароль — 12345) через внешнюю сеть или через ® ConnectBot (соединение [email protected]). В ssh-сессии поменять пароль через команду passwd. При дефолтных настройках программа при нажатии на Start запускает ssh-сервер скриптом /data/local/entware-ng/start.sh, при нажатии на Stop останавливает сервер скриптом /data/local/entware-ng/stop.sh, а при загрузке андроида запускает скрипт монтирования /data/local/entware-ng/mount.sh и, если последней была нажата кнопка Start (т.е. активна Stop), скрипт /data/local/entware-ng/start.sh. Таким образом, энтварь будет примонтирована всегда, а ssh в зависимости от состояния кнопки.

Выкладываю также альтернативный вариант установщика Entware_Dropbear_Installer_NO_LIBPATH_v1.1_19Apr17.apk ( 6.46 МБ )

для тех, у кого основной не смог ничего установить (встречается на стоковых прошивках с Android 4.4). Отличие: во всех скриптах стоит unset LD_LIBRARY_PATH. У многих установка не проходит именно по причине того, что энтварные бинарники не работают из-за андроидного LD_LIBRARY_PATH в окружении.

Инсталлятор создает директорию /data/local/entware-ng и биндит ее в /opt, но его можно использовать и при установке энтвари в самостоятельно монтированный /opt (через отдельный раздел карты памяти или loop-устройство). Для этого можно предварительно смонтировать /opt так, как вам надо и создать ФАЙЛ /data/local/entware-ng. Тогда скрипту установки не удастся создать директорию с таким именем и, соответственно, биндить ее в /opt. Тогда вся последующая установка пойдет в ваш /opt. Останется создать скрипт монтирования такой, как вам надо, и поместить ее в init.d/su.d. Или через Universal Autocontrol, в его настройках пути выполняемых скриптов можно менять. Файл /data/local/entware-ng можно после установки и удалить. Также как и сам установщик.

Читайте также:  Языки для андроид разработки 2021

Можно также сделать по другому: перед установкой создать директорию /data/local/entware-ng и примонтировать туда ваш раздел. А после установки и ребута монтировать раздел в /opt напрямую.

Ручная установка, в частности, для Андроид Категорически не рекомендуется обновлять пакет busybox! Иначе не сможете нормально авторизироваться и менять пароли.

Скрипт установки по сети (нужен busybox) можно взять из сообщения #52356898
Если ядро Linux в устройстве достаточно новое (не ниже 3.2.40) можно попробовать установить следующее поколение Entware-3x. См. #51746068.
О компиляции с помощью gcc на самом устройстве можно почитать здесь.

Отмена установки. Чтобы удалить все полностью надо удалить программу Universal Autocontrol, перезапустить устройство, удалить директорию /data/local/entware-ng и (уже мертвый) симлинк /system/etc/resolv.conf.

Источник

Ssh server для андроид

Краткое описание:
SSH сервер.

Описание:
Подключение через SSH к устройству!
SSHDroid является реализацией SSH-сервера для Android.
Это приложение позволит вам подключиться к устройству с ПК и выполнять команды (типа «terminal»,»adb Shell»), а также редактировать файлы (посредством SFTP, WinSCP,Cyberduck, и т.д. ..)

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

версия: 1.9.6 sshdroid (Пост #19956170)
версия: 1.9.4SSHDroid_1.9.4_15.apk ( 987.46 КБ )

Сообщение отредактировал vovanKARPO — 24.10.17, 21:23

Сообщение отредактировал chuk-75 — 01.07.12, 23:38

мануал по настройке терминала с использованием SSHDroid: Общие настройки для эмулятора терминала и SSH в Android
точно пригодится тем, кто вообще заглянул в эту тему 😉
критика приветствуется)

Сообщение отредактировал _Shumaher_ — 27.08.19, 11:04

Небольшой хак (нужен рут или программа adb), для отключения проверки файла hosts (для тех использует ADFree подобные программы).

Файл скопировать в каталог: /data/dalvik-cache/

Небольшой хак (нужен рут или программа adb), для отключения проверки файла hosts (для тех использует ADFree подобные программы).

Файл скопировать в каталог: /data/dalvik-cache/

Прикрепленные файлы
[email protected]@[email protected]@classes.zip ( 256.98 КБ )Кол-во скачиваний: 0

igorok107, а это для какой версии? У меня 1.9.6_18 создает при запуске создает файл [email protected]@[email protected]
при подмене его выдает ошибку при старте.

Был небольшой косяк, не везде работало. Вот APK отученный от рекламы.

Сообщение отредактировал igorok107 — 28.02.13, 03:38

Андроид у тебя 4.2.х или старше?
Настрой SSHDroid НЕ НА 22 порт, а, например, на 2222.
Этот же совет работает, если телефон не рутирован. Тоже 22-й порт надо поменять на другой.

PS: Важное дополнение: если у тебя прошивка рутированная, то для работы SSHDroid надо не только сменить номер порта, а еще ОБЯЗАТЕЛЬНО запретить SSHDroid’у рутовые права. При первом запуске SSHDroid’a вылезет портянка Superuser с вопросом дать ли запущенной программе права рута. Надо ответить НЕТ. Иначе работать не будет. Будет вот такое выдавать:

SSHDroid
Use ‘root’ as username
Default password is ‘admin’
[email protected]’s password:
[20677] Jul 24 12:07:12 Exit (root): Child failed

PPS: Автор обещал починить этот баг в следующей бета-версии.
Инфа отсюда: _http://forum.xda-developers.com/showpost.php?p=43930086&postcount=155

Сообщение отредактировал San- — 17.08.13, 17:38

версия с исправленными ошибками.

fixed an issue with root permissions

fixed a bug in the initialization (Dialog not disappearing)
fixed the layout in the help (bottom links are now visible)
minor changes

complete UI rewrite!
sperimental x86/mips support
homescreen and lockscreen widget (pro)
WiFi autostart’s white list (pro)
new option to allow app execution without root privileges (on rooted devices)
new option «autostart service»
new option to enable verbose logging
better home folder selection
better file picker
android.permission.ACCESS_SUPERUSER permission added
busybox updated to 1.21.0
no more adchecker (pro version has more features)

Читайте также:  Android 11 oneplus 7 pro когда

Сообщение отредактировал cobain — 05.12.13, 02:40

Источник

Делаем полноценный домашний сервер из старого смартфона на Android

Содержание статьи

Описанные шаги производились на смартфоне возрастом пять лет с Android 4.4. Если твой смартфон еще старше — будь готов к тому, что гайд для него не подойдет (например, из-за отсутствия поддержки LineageOS или использованных в статье утилит). Да, жизнь жестока.

Подготовка

Для начала выполним несколько подготовительных шагов.

Чистим смартфон

Первое, что нам необходимо сделать, — это очистить аппарат от мусора. Удаляем все файлы с карты памяти (внутренней и съемной), а затем делаем сброс до заводских настроек (Настройки → Восстановление и сброс → Сброс настроек). Это нужно, чтобы избавиться от установленных приложений, которые тоже могут висеть в памяти и жрать оперативку.

Также настоятельно рекомендую установить на смартфон LineageOS, а поверх нее пакет gapps-pico. Так ты получишь смартфон с доступом к маркету, но без огромного количества блоата, который так любят предустанавливать производители и Google.

После регистрации в Google сразу отключи все виды синхронизации, перейдя в «Настройки → Аккаунты → Google». На сервере от этой синхронизации никакого прока, она будет только мешать. Функции пробуждения при получении уведомления и always on display, а также светодиодный индикатор тоже не нужны. Перейди в «Настройки → Приложения» и отключи весь софт, который возможно отключить. Email, браузер, службы Exchange — все это нам не нужно.

В результате у тебя окажется система, которая по минимуму использует оперативку и не держит в памяти ненужные приложения и службы, — голый и урезанный со всех сторон смартфон. Нелишним будет получить права root. Большинство описанных в статье серверов их не требуют, но они понадобятся, если ты захочешь иметь нормальную командную строку с набором утилит Linux и полный контроль над сервером.

SSH и BusyBox

Android построен на ядре Linux, что для нас большой плюс: Linux прекрасно оптимизирован для серверов. Однако вся остальная часть системы сильно отличается от типичных дистрибутивов Linux. Здесь нет многих стандартных для Linux команд, к Android нельзя подключиться по SSH, системы контроля сетевых служб тоже как бы нет (есть местный init, но это вещь в себе).

Чтобы это исправить, установим BusyBox и SSH-сервер. Первый представляет собой минималистичный комплект стандартных утилит командной строки Linux, второй понятно что. Для установки BusyBox воспользуемся приложением BusyBox On Rails. Все предельно просто: запускаем приложение, кликаем несколько кнопок, соглашаемся предоставить права root — готово.

На роль SSH-сервера отлично подойдет SimpleSSHD. Внутри это SSH-сервер Dropbear для встраиваемых устройств, снабженный графическим интерфейсом. Устанавливаем, запускаем, переходим в настройки, отмечаем галочкой опцию Start on Boot, возвращаемся назад и нажимаем кнопку Start.

SimpleSSHD выведет на экран IP-адрес, порт по умолчанию 2222. Подключиться к нему из Linux можно так:

При подключении на экране смартфона появится одноразовый пароль, который следует указать в приглашении клиента. Это очень безопасный, но не очень удобный способ аутентификации, поэтому рекомендую использовать аутентификацию по ключам. Просто переименуй свой открытый ключ ( id_rsa.pub ) в authorized_keys и положи в каталог ssh на карте памяти.

Сразу после подключения к серверу выполни команду su , чтобы SimpleSSHD запросил права root на смартфоне. Подтверди права и не забудь поставить галочку «Больше не спрашивать» (в LineageOS) или сними галочку «Спросить снова» (SuperSU). Это нужно, чтобы в будущем ты мог в любой момент получить root без всяких запросов со стороны Android.

Читайте также:  Android поддержка full hd

Bash, nano, tmux, mc

BusyBox содержит только базовый набор утилит командной строки, многие из которых к тому же имеют сильно урезанную функциональность. В BusyBox нет ни bash, ни вменяемых консольных редакторов (Vi в расчет не берем, это не Vim), ни mc и tmux, без которых многие админы не представляют себе жизни.

Если тебе все это нужно, придется установить утилиты самостоятельно. Правильный способ это сделать — скачать компилятор Linaro, исходники утилит и собрать их самому. Быстрый способ — выдрать из уже имеющегося приложения, например из Terminal IDE.

Скачиваем Terminal IDE, переименовываем пакет APK в ZIP, распаковываем, находим файл assets/system-2.0.tar.gz.mp3 , переименовываем, убирая расширение mp3, и вновь распаковываем. Внутри будет множество каталогов и файлов, из которых нас интересуют только system/bin и system/etc/terminfo . Первый содержит нужные нам утилиты; просто скопируй те, что тебе пригодятся, в отдельный каталог. Второй необходим для их корректного функционирования.

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

Далее скопируй все нужные утилиты в /system/xbin/ и установи на них бит исполнения (на примере bash):

Затем создай файл /sdcard/ssh/.bashrc , помести в него следующие строки:

Открой настройки SimpleSSHD на смартфоне и в опции Login Shell укажи /system/xbin/bash , останови и вновь запусти сервер. При следующем входе по SSH откроется bash и будут доступны скопированные тобой утилиты.

Чтобы добиться корректной работы Vim и mc, скопируй на карту памяти также каталоги etc/mc и etc/vim , а в файл /sdcard/ssh/.bashrc добавь строки

WARNING

Если сразу после логина вместо имени пользователя и хоста ты видишь -bash-4.2$ , запусти bash повторно. Такая ошибка возникает из-за проблем с автоматическим определением домашнего каталога.

Отключаем энергосбережение

Как и любая другая мобильная ОС, Android всеми силами старается сберечь энергию. Поэтому сразу после отключения экрана он как можно скорее переводит смартфон в режим suspend, при котором прекращается/снижается подача питания не только на экран, но и на сам процессор (аналог suspend to ram в компах).

Нам такое поведение будет только мешать, поэтому его следует отключить. Для этого активируем так называемый wakelock, который заставит систему не переходить в режим suspend:

Wakelock будет оставаться активным, пока жива система, но после перезагрузки его придется активировать снова. В прошивках, основанных на LineageOS/CyanogenMod, это можно автоматизировать. Создай файл со следующим содержимым:

И скопируй его в каталог /system/etc/init.d .

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.

Евгений Зобнин

Редактор рубрики X-Mobile. По совместительству сисадмин. Большой фанат Linux, Plan 9, гаджетов и древних видеоигр.

Источник

Оцените статью