Gary's …Lasamia

透過 USB 傳輸線 SSH 進入 iPhone 等 iDevice

有在開發或使用 SSH (Secure Shell) 登入 iPhone 等 iDevice 的人一定會遇到這些情況

  • 出門在外,沒有 wifi 卻需要 SSH 登入 iPhone
  • 有時將 iPhone 連上個不常使用的 Wifi 熱點,想要 SSH 登入時還要特地去設置然後找 IP 經過頗多步驟

這些等等等的情況,其實都有個簡單的方式可以解決,
就是透過你一定擁有的 iPhone 傳輸線,簡單的透過傳輸線將 iPhone 接到你的電腦的 USB port,就可以很方便的 SSH 進入

需求

  • iDevice 設備
  • 具有資料傳輸功能的傳輸線 (接上電腦,iTunes可以正常偵測到你的 iDevice 即可)
  • 具有 USB port 的電腦 (Type-C也可啦..XD)
  • iDevice 上需要安裝 OpenSSH

而要透過什麼來完成這項目的呢?其實透過一套網路上的 Library:usbmuxd

安裝方式很簡單,下載來使用即可:官方連結
但有版本差異,最新 1.1.0 必須透過複雜的安裝方式,所以我是下載 1.0.6 版本可以直接執行

透過 curl 指令下載
$ 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

移動至內部一個 pytohn-client 的資料夾內
$ cd ./usbmuxd-1.0.6/python-client

這裡要注意的是,要先將 tcprelay.py 這個檔案改權限並更動為可執行,一般使用者才可以正常執行
$ chmod +x tcprelay.py

然後就可以透過這串指令來開啟 USB port forward 了!
$ ./tcprelay.py -t 22:2222
螢幕快照 2016-12-31 下午10.19.01
開啟之後,這時你就可以透過 SSH 來登入了!
ssh root@localhost -p 2222

當然,每次都要 cd 到指定位置然後執行一串指令非常麻煩
所以可以簡化成一步驟

1.可以將以下這個路徑設置至你所使用預設 shell 內 (Bash 或 ZSH 等),我是使用ZSH,因此是改動 ~/.zshrc

export USBPort=/你放置資料夾的路徑/usbmuxd/python-client/

之後你便可以在終端機內 使用 $USBPort/tcprelay.py -t 22:2222 這快速的捷徑路徑,不用在自己慢慢找

2.更偷懶可以透過 Text Expander 然後快速輸入上面那串…

發表迴響