Set hostname for SSHelper I currently use SSHelper to transfer my data to the Android 4.0 device. The app displays the IP address that is currently assigned. Since this IP address changes regularly, I'd like to use a hostname for the device, with all my Linux computers, that works with Avahi/Zeroconf and I have computername.local.

How do I get such a hostname for my Android device?
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".

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