Serwer SSH (i SFTP) na Androida wykrywalny przez avahi / bonjour

16

Chciałbym, aby moje urządzenie z Androidem (Samsung Galaxy) było wykrywalne przez avahi / bonjour, gdy jest podłączone do sieci Wi-Fi, a następnie aby móc uzyskać dostęp do swojego systemu plików za pośrednictwem SSH (SFTP).

Dla mnie jest to znany i wygodny sposób na dostęp do różnych urządzeń w mojej sieci lokalnej: aby odkryć ich usługę SSh za pośrednictwem avahi / bonjour (bez konieczności zajmowania się adresami IP) i wysłać do nich ssh. Użyłbym tego w moich systemach GNU / Linux (takich jak Ubuntu).

Czy istnieje darmowe (= libre - ponieważ doceniam swobodę hakowania) oprogramowanie dla Androida, które to zaimplementuje, a mianowicie:

  • obsługa avahi / bonjour dla Androida, dzięki czemu urządzenie z Androidem będzie dostępne po nazwie w domenie .local (zamiast po samym adresie IP);
  • oraz serwer SSH z obsługą publikowania przez Avahi / bonjour (mdnssd).
imz - Ivan Zakharyaschev
źródło
Po prostu to samo życzenie - android.stackexchange.com/questions/20907/... : ssh na Androida nie przez jego adres IP, ale raczej przez nazwę uzyskaną przez zeroconf / bonjour / avahi / mdns (jakkolwiek to nazwiesz). Byłoby jeszcze lepiej, gdyby usługa SSH była publikowana za pośrednictwem zeroconf / bonjour / avahi / mdns / dnssd (jakkolwiek to nazwiesz).
imz - Ivan Zakharyaschev,
Jeśli chodzi o część SSH na życzenie, istnieje już Q & A: android.stackexchange.com/questions/9905/... , android.stackexchange.com/questions/15503/... . (Chociaż muszę się dowiedzieć, czy sugerowane rozwiązania to oprogramowanie darmowe / libre - aby odpowiedzieć na moje pytanie). Część mojego pytania dotycząca wsparcia avahi / bonjour / zeroconf jest bez odpowiedzi ...
imz - Ivan Zakharyaschev,
2
Wiem, że to nie to samo, ale szukając „ostatecznego rozwiązania”: poradziłem moim routerom DHCP, aby przypisały urządzeniom statyczny adres IP, a następnie skonfigurowałem to za pomocą mojego lokalnego DNS (możesz to również zrobić za pośrednictwem /etc/hosts). Nie muszę więc zapamiętywać adresów IP, ale urządzenia „pseudonimy”, co jest dość łatwe do porównania.
Izzy
@Izyzy: Rozumiem, dzięki, to bardzo rozsądne obejście. Niestety, w moim przypadku wydaje się, że mam (jako router) stację bazową Airport Extreme, która nie obsługuje „rezerwacji DHCP” . Byłoby również miło móc połączyć się z urządzeniem za pomocą „pseudonimu” w sytuacji, gdy jestem „gościem” (w sieci nieskonfigurowanej przeze mnie).
imz - Ivan Zakharyaschev
2
Jasne, zrozumiano to od samego początku - dlatego myślałem, że to obejście, dopóki nie znajdziesz prawdziwego rozwiązania. Dostępne są aplikacje pozwalające skonfigurować „stały adres IP na żądanie / przez sieć” (w przeciwieństwie do „stałego DHCP”), który powinien działać nawet z ekstremalną stacją bazową lotniska. Jeśli jesteś zainteresowany, mógłbym to podsumować i umieścić w odpowiedzi (wraz z moim powyższym komentarzem).
Izzy

Odpowiedzi:

2

Korzystam z bezpłatnego SSHelpera (bez rootowania), ponieważ ostatnio dodał nadawanie zeroConf. Zapewnia serwer SSH i RSYNC (transfer plików), jednocześnie nadając nazwę ZeroConf. Inny klient avahi / bonjour może połączyć się bez konieczności znajomości nazwy hosta Androida. Bardziej szczegółowo wyjaśniono w tej drugiej odpowiedzi: Ustaw nazwę hosta dla SSHelper

Glenschler
źródło
Dzięki wielkie za informację! Teraz przynajmniej znam jedną możliwość skonfigurowania tego. Wolę używać wolnego oprogramowania (= libre, open-source). Czy powinienem rozważyć SSHelper? (Jeszcze nie wiem, czy jest to wolne oprogramowanie).
imz - Ivan Zakharyaschev
@glenschler Cześć, właśnie próbowałem SSHelper, ale nie zastanawiałem się, jak podłączyć Osh za pomocą nazwy. Mam wyrejestrowany kod źródłowy i wydaje się, aby użyć „SSHelper” jako nazwę zeroconf, ale nie mogę połączyć się to tak: ssh SSHelper:2222. Wszelkie wskazówki / porady? Dzięki
George Profenza
@ george-profenza Nie wiedziałem, że kod źródłowy jest dostępny. Będę musiał zbadać. Powinieneś przeglądać sieć w poszukiwaniu wszystkich nazw „avahi”. Będzie to różnić się od komputera Mac lub Linux. android.stackexchange.com/questions/42358/…
glenschler
@glenschler Użyłem avahi na Raspberry Pi i po instalacji mogłem uzyskać dostęp do mojego pi jako rpi.local. W systemie Windows musiałem zainstalować usługę bonjour. Próbowałem uzyskać dostęp do ssh / http przy użyciu nazwy hosta SSHelper (którą mogłem zobaczyć na uruchomionym komputerze Mac dns-sd -B), ale nie mogłem się z nią połączyć. Jak połączyć się z telefonem według nazwy (jakiej nazwy używasz) w SSHelper?
George Profenza
Dostępna jest nowa wersja 5.5 SSHelper. Tak, aby odpowiedzieć na poprzednie pytanie, jest to wolne oprogramowanie. Możesz teraz skonfigurować niestandardową nazwę! Moje instrukcje są szczegółowe tutaj android.stackexchange.com/questions/42358/…
glenschler