SSH Over USB
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
- 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
path/to/itunnel_mux.exe --iport 22 --lport 2222
- OS X: Run
sudo path/to/itnl --iport 22 --lport 2222
iproxy 2222 22
- Windows: Run
Connect to localhost as you would over wifi.
Making itunnel mux run automatically in the background on OS X
- Save the unzipped folder (containing both itnl and libmd.dylib) somewhere (eg.
- Create the file
/Library/LaunchDaemons/com.usbmux.itunnel.plistwith the contents:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.usbmux.itunnel</string> <key>ProgramArguments</key> <array> <string>/path/to/itnl</string> <string>--iport</string> <string>22</string> <string>--lport</string> <string>2222</string> </array> <key>RunAtLoad</key> <true/> <key>KeepAlive</key> <true/> </dict> </plist>
- (replacing /path/to/ with the path to where you have itnl stored, eg.
sudo launchctl load /Library/LaunchDaemons/com.usbmux.itunnel.plist
- 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
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.
Export the following variables in your shell in order to deploy builds to the connected device: