將iPhone & iPad變成SSH Server。
iOS是基於Darwin開發的系統,理所當然有跑OpenSSH的能力!
注意,是將iOS變成SSH Server,而非SSH Client。
在iPhone越獄後,可以在iOS安裝OpenSSH伺服器,讓我們能隨時遠端登入系統執行APT進行系統管理,除錯,使用SFTP傳檔案等等。

而且就算iPhone沒網路也是可以透過USB傳輸線登入呢!
1. 在iOS安裝OpenSSH #
一個OpenSSH套件移植通常包含OpenSSH Server與OpenSSH Client。Cydia很多軟體源都有收OpenSSH,最舊支援到iOS 6.0。不過要小心太舊的SSH Server可能會有安全性問題。
部分越獄軟體已經內建SSH Server,譬如checkra1n。這裡要手動安裝的是會在iOS開機後自動啟動的OpenSSH服務。
-
開啟Cydia或Sileo,搜尋
OpenSSH,安裝套件
-
(選擇性)在iOS安裝一個越獄用的終端機App,例如NewTerm或MTerminal,方便直接操作指令。

-
大部分軟體越獄後,系統管理員帳號為
root,密碼為alpine。至於iOS的一般使用者帳號則是叫做mobile,執行修改系統的指令需要加上sudo,或者輸入su可以切換成root帳號。passwd則是可以變更帳號的密碼。 -
為了安全性,遠端SSH應該登入
mobile帳號就好,需要的時候再用sudo提權。不過若你想直接登入root,就得在iOS上用終端機編輯sshd的設定檔:
sudo vi /etc/ssh/sshd_config- 開啟允許root登入
PermitRootLogin yes-
然後重開機。
-
OpenSSH的服務
sshd,會在iOS開機後自動啟動,即使iOS螢幕關閉也會繼續執行。這可以透過luanchctl指令停止:
# rootless越獄
launchctl unload /var/jb/Library/LaunchDaemons/com.openssh.sshd.plist
# rootful越獄
launchctl unload /Library/LaunchDaemons/com.openssh.sshd.plist2. 透過Wifi登入SSH #
-
確保電腦和iPhone處於同一Wifi下。
-
開啟iPhone系統設定 → Wifi,點選i,查看區域IP位址,通常是192.168開頭。

-
在電腦輸入指令連線。一般越獄應該是使用通訊埠22,而checkra1n的SSH預設是44。
ssh mobile@192.168.0.119 -p 22- 然後應該會看到iPhone的主機名稱,代表已經連線到iOS了。
注解:部分機型的OpenSSH比較舊,會出現Unable to negotiate with port : no matching host key type found. Their offer: ssh-rsa,ssh-dss錯誤,需要指定舊版的加密方法連線
ssh -o HostKeyAlgorithms=+ssh-rsa mobile@IP3. 透過iproxy走USB連線登入SSH #
這裡以Linux電腦操作為例。iPhone插入電腦的時候,透過usbmuxd做溝通。透過iproxy代理iOS的通訊埠,就可以有線SSH到iPhone。這樣iPhone不用連上任何網路也能SSH進去。
-
在Linux安裝libimobiledevice套件
-
將iPhone插電腦,點選信任此電腦。
-
啟動iproxy代理,轉發iOS的SSH通訊埠22,到Linux本機的2222
iproxy 2222 22- 開另外一個終端機,從電腦SSH進去
ssh mobile@localhost -p 2222