SSH- (und SFTP-) Server auf Android, erkennbar über avahi / bonjour

16

Ich möchte, dass mein Android-Gerät (ein Samsung Galaxy) über avahi / bonjour erkannt wird, wenn es mit einem WiFi-Netzwerk verbunden ist, und dann über SSH (SFTP) auf sein Dateisystem zugreifen kann.

Für mich ist dies eine vertraute und bequeme Möglichkeit, auf verschiedene Geräte in meinem lokalen Netzwerk zuzugreifen: ihren SSh-Dienst über avahi / bonjour zu ermitteln (ohne mit IP-Adressen umgehen zu müssen) und zu ihnen zu sshen. Ich würde diesen Weg für meine GNU / Linux-Systeme (wie Ubuntu) verwenden.

Gibt es freie (= libre - weil ich die Freiheit des Hackens schätze) Software für Android, die dies implementieren würde, nämlich:

  • Avahi / Bonjour-Unterstützung für Android, sodass das Android-Gerät über den Namen in der .local-Domain erreichbar ist (anstatt nur über seine IP-Adresse);
  • und einen SSH-Server mit Unterstützung für die Veröffentlichung über Avahi / bonjour (mdnssd).
imz - Ivan Zakharyaschev
quelle
Genau der gleiche Wunsch - android.stackexchange.com/questions/20907/… : ssh für Android nicht nach seiner IP, sondern nach dem Namen, der über zeroconf / bonjour / avahi / mdns (wie auch immer Sie es nennen) erhalten wurde. Es wäre sogar noch besser, wenn der SSH-Dienst über zeroconf / bonjour / avahi / mdns / dnssd veröffentlicht würde (wie auch immer Sie es nennen).
imz - Ivan Zakharyaschev
Für den SSH-Teil des Wunsches gibt es bereits Fragen und Antworten : android.stackexchange.com/questions/9905/… , android.stackexchange.com/questions/15503/… . (Obwohl ich herausfinden muss, ob es sich bei den vorgeschlagenen Lösungen um freie Software handelt - um meine Frage zu beantworten.) Der Teil der Unterstützung für avahi / bonjour / zeroconf meiner Frage ist jedoch ohne Antwort ...
imz - Ivan Zakharyaschev
2
Ich weiß, dass es nicht dasselbe ist, aber auf der Suche nach der "endgültigen Lösung": Ich habe meinen Routern über DHCP empfohlen, den Geräten eine statische IP-Adresse zuzuweisen, und diese dann mit meinem lokalen DNS konfiguriert (dies kann auch über erfolgen /etc/hosts). Also muss ich mir keine IPs merken, sondern die Geräte "Spitznamen", was im Vergleich recht einfach ist.
Izzy
@ Izzy: Ich verstehe, danke, das ist eine sehr vernünftige Lösung. Leider habe ich in meinem Fall (als Router) eine Airport Extreme-Basisstation, die "DHCP-Reservierungen" nicht unterstützt . Außerdem wäre es in einer Situation, in der ich ein "Gast" bin (in einem von mir nicht konfigurierten Netzwerk), schön, über einen "Spitznamen" eine Verbindung zum Gerät herstellen zu können.
imz - Ivan Zakharyaschev
2
Klar, das wurde von Anfang an verstanden - deshalb habe ich es als Workaround angesehen, bis Sie eine echte Lösung finden. Es gibt Apps, mit denen Sie eine "feste IP bei Bedarf / nach Netzwerk" konfigurieren können (im Gegensatz zum "festen DHCP"), die sogar mit Ihrer extremen Flughafenbasisstation funktionieren sollte. Wenn Sie interessiert sind, könnte ich dies zusammenfassen und in eine Antwort einfügen (zusammen mit meinem obigen Kommentar).
Izzy

Antworten:

2

Ich benutze den kostenlosen SSHelper (ohne Rooting), seitdem er kürzlich ZeroConf-Broadcasting hinzugefügt hat. Es bietet einen SSH- und RSYNC-Server (File Transfer) und sendet gleichzeitig einen ZeroConf-Namen. Ein anderer Avahi / Bonjour-Client kann eine Verbindung herstellen, ohne den Android-Hostnamen zu kennen. In dieser anderen Antwort näher erläutert: Legen Sie den Hostnamen für SSHelper fest

Glenschler
quelle
Vielen Dank für die Informationen! Zumindest kenne ich jetzt eine Möglichkeit, dies einzurichten. Ich bevorzuge freie Software (= libre, open-source). Sollte ich dann SSHelper in Betracht ziehen? .. (Ich weiß noch nicht, ob es freie Software ist.)
imz - Ivan Zakharyaschev
@glenschler Hallo, ich habe gerade SSHelper ausprobiert, aber ich habe nicht herausgefunden, wie ich mich mit dem Namen verbinden kann. Ich habe den Quellcode ausgecheckt und es scheint „SSHelper“ als zeroconf Namen zu verwenden, aber ich kann keine Verbindung herstellen , um es wie so: ssh SSHelper:2222. Irgendwelche Tipps? Vielen Dank
George Profenza
@ George-Profenza Ich wusste nicht, dass der Quellcode verfügbar war. Ich muss nachforschen. Sie sollten Ihr Netzwerk nach allen "Avahi" -Namen durchsuchen. Dies unterscheidet sich von Ihrem Mac oder Linux-Computer. android.stackexchange.com/questions/42358/…
glenschler
@glenschler Ich habe Avahi auf einem Himbeer-Pi verwendet und nach der Installation konnte ich als rpi.local auf mein Pi zugreifen. Unter Windows musste ich den Bonjour-Service installieren. Ich habe versucht, mit dem SSHelper-Hostnamen (der auf einem Mac angezeigt wird) auf ssh / http zuzugreifen dns-sd -B, konnte jedoch keine Verbindung herstellen. Wie stellen Sie mit SSHelper eine Verbindung zu Ihrem Telefon über den Namen her (welchen Namen verwenden Sie)?
George Profenza
Es gibt eine neue Version 5.5 von SSHelper. Ja, um die vorherige Frage zu beantworten, es ist freie Software. Sie können jetzt einen benutzerdefinierten Namen konfigurieren! Meine Anweisungen finden Sie hier android.stackexchange.com/questions/42358/…
Glenschler