每次在用 Mac 連線的時候都要透過 WiFi 來 SSH iOS 設備,必須要使用當地的 Wifi 不然就是要過熱點,明明就可以接 USB 為什麼要脫褲子放屁從 WiFi 連呢?
在查詢了一下果然有人直接用 USB 來在 iOS 作業
就是 usbmuxd 這個工具,目前出到 usbmuxd 1.1.0 版本,但因為使用方式的不同,我還是喜歡 1.0.6
1.1.0 的版本是必須 compile 才能使用,但 1.0.6 解壓出來就有現成的 python script 可以用,非常方便
本篇紀錄 1.0.6 的版本使用
Step.1 下載 usbmuxd 1.0.6 版本
$ curl -O http://pkgs.fedoraproject.org/repo/pkgs/usbmuxd/usbmuxd-1.0.6.tar.bz2/c8909cfd9253d8d1a5e26f2ff7e5908b/usbmuxd-1.0.6.tar.bz2 $ tar jxvf usbmuxd-1.0.6
Step.2 直接執行 script 來連接 iOS 裝置,記得 iOS 必須安裝 OpenSSH
$ cd usbmuxd-1.0.6/python-client $ chmod +x tcprelay.py $ ./tcprelay.py -t 22:2222 Forwarding local port 2222 to remote port 22
Forwarding local port 2222 to remote port 22 代表通訊完成!透過本機 2222 port Tunnel 到 iOS 裝置的 22 port
Step.3 再來用 Ctrl + Z 放到背景,用 bg 來 Running
$ jobs [1]+ Stopped ./tcprelay.py -t 22:2222 $ bg %1 [1]+ Running ./tcprelay.py -t 22:2222 &
Step.4 測試 SSH 連線
$ ssh -p 2222 root@localhost Incoming connection to 2222 Waiting for devices... Connecting to device <MuxDevice: ID 1 ProdID 23a8 Serial '90080ac6119eb4586e5737546' Location 0x12300000> Connection established, relaying data
搞定!
如果是使用 1.1.0 版本的網友,可以參考以下遇到需要編譯的相依套件
Miss autoconf
curl -O http://ftpmirror.gnu.org/autoconf/autoconf-2.69.tar.gz tar -xzf autoconf-2.69.tar.gz cd autoconf-2.69 ./configure && make && sudo make install
Miss automake
curl -O http://ftpmirror.gnu.org/automake/automake-1.14.tar.gz tar -xzf automake-1.14.tar.gz cd automake-1.14 ./configure && make && sudo make install
Miss libtool
curl -O http://ftpmirror.gnu.org/libtool/libtool-2.4.2.tar.gz tar -xzf libtool-2.4.2.tar.gz cd libtool-2.4.2 ./configure && make && sudo make install
Miss pkg-config
curl -O http://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz tar zxvf pkg-config-0.28.tar.gz cd pkg-config-0.28 ./configure && make install
Miss libxml2
git clone git://git.gnome.org/libxml2 cd libxml2 ./autogen.sh make && sudo make install
Miss libplist
git clone http://git.libimobiledevice.org/libplist.git cd libplist ./autogen.sh make && make install
Miss libimobiledvice
git clone http://git.libimobiledevice.org/libimobiledevice.git cd libimobiledevice ./autogen.sh make && make install