Dev:SSH Over USB

Languages: English &bull; français &bull; ไทย

SSH over USB using usbmuxd
You can either download a binary and run that or use a python script. The python script is a lot slower than the binary version. On Linux the python method is mostly deprecated, use the binary version provided by libimobiledevice

Using binary

 * Download the zip file from OS X or Windows (32 bits).
 * on Linux usbmux is provided by libimobiledevice, install it using your distro's package manager.
 * If you're on Windows, install iTunes
 * Unzip to a directory of choice.


 * Windows: Run
 * OS X: Run
 * Linux:

Connect to localhost as you would over wifi.

Making itunnel mux run automatically in the background on OS X
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">  Label com.usbmux.itunnel ProgramArguments /path/to/itnl --iport 22 		 --lport 2222 	 RunAtLoad KeepAlive
 * Save the unzipped folder (containing both itnl and libmd.dylib) somewhere (eg. )
 * Create the file  with the contents:


 * (replacing /path/to/ with the path to where you have itnl stored, eg. )
 * run
 * You now don't have to run the itunnel binary every time you want to SSH over USB as the itunnel software is always running in the background

Using python
Tested on OS X and Windows.

You will need to have Python installed on your system.


 * Get usbmuxd source package and unpack. (Or if the linked usbmuxd package doesn't work, try libusbmuxd.)
 * Go into folder python-client
 * chmod +x tcprelay.py
 * Run ./tcprelay.py -t 22:2222

Now you can log into your device via ssh mobile@localhost -p 2222

The -t switch tells tcprelay to run threaded and allow more than one ssh over the same port.

See ./tcprelay.py --help for further options.

SSH over USB using the iFunBox GUI (Windows only)
This feature only exists in the Windows build of iFunBox.


 * Get the latest Windows build of iFunBox and install it.
 * Click on "Quick Toolbox," then "USB Tunnel."
 * Assign ports as you see fit.

Theos usage
Export the following variables in your shell in order to deploy builds to the connected device: