SSH (и SFTP) сервер на Android обнаруживается через avahi / bonjour

16

Я хотел бы, чтобы мое устройство Android (Samsung Galaxy) можно было обнаружить через avahi / bonjour при подключении к сети WiFi, а затем иметь возможность доступа к своей файловой системе через SSH (SFTP).

Для меня это знакомый и удобный способ доступа к различным устройствам в моей локальной сети: обнаружить их службу SSh через avahi / bonjour (не нужно иметь дело с IP-адресами) и подключиться к ним по ssh. Я бы использовал этот способ для своих систем GNU / Linux (например, Ubuntu).

Есть ли бесплатное (= libre - потому что я ценю свободу взлома) программное обеспечение для Android, которое бы реализовало это, а именно:

  • поддержка avahi / bonjour для Android, чтобы устройство Android было доступно по имени в домене .local (а не только по его IP-адресу);
  • и SSH-сервер с поддержкой публикации себя через Avahi / bonjour (mdnssd).
imz - Иван Захарящев
источник
Точно такое же желание - android.stackexchange.com/questions/20907/… : ssh для Android не по его IP, а по имени, полученному через zeroconf / bonjour / avahi / mdns (как бы вы это ни называли). Было бы еще лучше, если бы служба SSH публиковалась через zeroconf / bonjour / avahi / mdns / dnssd (как бы вы это ни называли).
imz - Иван Захарящев
Что касается SSH-части пожелания, то уже есть вопросы и ответы: android.stackexchange.com/questions/9905/… , android.stackexchange.com/questions/15503/… . (Хотя мне нужно выяснить, являются ли предлагаемые решения бесплатным / libre программным обеспечением - чтобы ответить на мой вопрос.) Часть поддержки моего вопроса avahi / bonjour / zeroconf, однако, без ответа ...
imz - Иван Захарящева
2
Я знаю, что это не то же самое, но при поиске «окончательного решения»: я посоветовал своим маршрутизаторам DHCP назначить устройствам статический IP-адрес, а затем настроил его с моим локальным DNS (вы также можете сделать это через /etc/hosts). Так что мне не нужно запоминать IP-адреса, но устройства имеют «никнеймы», что довольно просто для сравнения.
Иззи
@ Иззи: Я вижу, спасибо, это очень разумный обходной путь. Но, к сожалению, в моем случае кажется, что у меня (в качестве маршрутизатора) есть базовая станция Airport Extreme, которая не поддерживает «резервирование DHCP» . Также было бы неплохо иметь возможность подключаться к устройству по «нику» в ситуации, когда я «гость» (в сети, не настроенной мной).
imz - Иван Захарящев
2
Конечно, это было понятно с самого начала - поэтому я подумал, что это обходной путь, пока вы не найдете реальное решение. Доступны приложения, позволяющие вам настроить «фиксированный IP по требованию / по сети» (в отличие от «фиксированного DHCP»), который должен работать даже с вашей экстремальной базовой станцией аэропорта. Если вам интересно, я мог бы подвести итог и поместить его в ответ (вместе с моим комментарием выше).
Иззи

Ответы:

2

Я использую бесплатный SSHelper (без рута), так как он недавно добавил трансляцию zeroConf. Он предоставляет SSH и RSYNC (сервер передачи файлов), а также передает имя ZeroConf. Другой клиент avahi / bonjour может подключиться без необходимости знать имя хоста Android. Более подробно объяснено в этом другом ответе: Установить имя хоста для SSHelper

glenschler
источник
Большое спасибо за информацию! Теперь, по крайней мере, я знаю одну возможность настроить это. Я предпочитаю использовать свободное программное обеспечение (= libre, open-source). Должен ли я рассмотреть SSHelper тогда? .. (Я пока не знаю, является ли это свободным программным обеспечением.)
imz - Иван Захарящев
@glenschler Привет, я только что попробовал SSHelper, но я не понял, как подключиться к SSH, используя имя. Я проверил исходный код и он , кажется, использует «SSHelper» как ZeroConf имя, но я не могу подключиться к нему так: ssh SSHelper:2222. Любые советы / подсказки? Спасибо
Джордж Profenza
@ george-profenza Я не знал, что исходный код был доступен. Мне нужно расследовать. Вы должны просмотреть свою сеть для всех имен "avahi". Это будет отличаться от вашего компьютера Mac или Linux. android.stackexchange.com/questions/42358/...
glenschler
@glenschler Я использовал avahi на Raspberry Pi, и после его установки я смог получить доступ к своему пи как rpi.local. На окнах мне пришлось установить службу Bonjour. Я попытался получить доступ к ssh / http, используя имя хоста SSHelper (которое я видел в списке на работающем Mac dns-sd -B), но не смог подключиться к нему. Как вы подключаетесь к своему телефону по имени (какое имя вы используете) с помощью SSHelper?
Джордж Профенца
Появилась новая версия 5.5 SSHelper. Да, чтобы ответить на предыдущий вопрос, это свободное программное обеспечение. Теперь вы можете настроить собственное имя! Мои инструкции подробно описаны здесь android.stackexchange.com/questions/42358/…
glenschler