Skip to main content
6 of 7
deleted 62 characters in body
glenschler
  • 214
  • 2
  • 7

In the March 2014 update to SSHelper the documentation states new changes to it's Zeroconf broadcasting name. In the documentation Configuration section of the details it describes the checkbox to "Enable Zeroconf broadcasting". When this is enabled any other client on the local network, will be able to browse and then connect for SSHelper on the network.

As of SSHelper ver 5.0, the registered instance name is the model name of your android. For instance, "Nexus 4". This is only an issue if there is more than one android "Nexus 4" running SSHelper. Still if there is only one, then any remote client can connect to the android SSH server without having to know the it's name.

Update: version 5.5 allows a way to set the hostname. I am leaving this 5.0 version answer since the below instructions can still be useful.

You do not need to look at the SSHelper app to know which ip/hostname to connect to from your other machine.

From linux (you may need to install avahi-utils):

avahi-browse --terminate --resolve --parsable _ssh._tcp

More specifically, entering this command will SSH connect to the android e.g. "Nexus 4" server without needing to know it's name:

ssh `avahi-browse --terminate --resolve --parsable _ssh._tcp \
| grep "Nexus.*;local;" \
| sed -E 's/.*Nexus.*;local;(.*.local);.*/\1/g'`

For OS X (10.9 Mavericks), there is nothing to install but you must run dns-sdand then Ctrl + C to kill the process after you see the android bonjour hostname.

# If your model name is not "Nexus 4", Be sure to use your phones model name.
dns-sd -L "Nexus 4" _ssh._tcp local

# this will output something like this:
# Nexus\0324._ssh._tcp.local. can be reached at 192-168-1-6.local.:22

# so now ping by the name found from above:
ping 192-168-1-6.local
glenschler
  • 214
  • 2
  • 7