
1.SSH、OpenSSH
2.使用OpenSSH远程登录
3.22端口
4.通过USB进行SSH登录
SSH、OpenSSH
- SSH
Secure Shell的缩写,意为“安全外壳协议”,是一种可以为远程登录提供安全保障的协议
使用SSH,可以把所有传输的数据进行加密,“中间人”攻击方式就不可能实现,能防止DNS欺骗和IP欺骗
- OpenSSH
是SSH协议的免费开源实现
可以通过OpenSSH的方式让Mac远程登录到iPhone
使用OpenSSH远程登录
- 在iPhone上通过Cydia安装OpenSSH工具(软件源http://apt.saurik.com)
- OpenSSH的具体使用步骤可以查看Description中的描述
- SSH是通过TCP协议通信,所以要确保Mac和iPhone在同一局域网下,比如连接着同一个WiFi
在Mac的终端输入ssh 账户名@服务器主机地址
比如ssh root@192.168.0.12(这里的服务器是手机)
初始密码alpine
- 登录成功后就可以使用终端命令行操作iPhone
- 退出登录命令是exit
22端口
- 端口就是设备对外提供服务的窗口,每个端口都有个端口号(范围是0~65535,共2^16个)
- 有些端口号是保留的,已经规定了用途,比如
21端口提供FTP服务
80端口提供HTTP服务
22端口提供SSH服务(可以查看/etc/ssh/sshd_config的Port字段)
- iPhone默认是使用22端口进行SSH通信,采用的是TCP协议
通过USB进行SSH登录
-
默认情况下,由于SSH走的是TCP协议,Mac是通过网络连接的方式SSH登录到iPhone,要求iPhone连接WiFi
-
为了加快传输速度,也可以通过USB连接的方式进行SSH登录
Mac上有个服务程序usbmuxd(它会开机自动启动),可以将Mac的数据通过USB传输到iPhone
- 下载usbmuxd工具包(主要用到里面的一个python脚本:tcprelay.py)
https://cgit.sukimashita.com/usbmuxd.git/snapshot/usbmuxd-1.0.8.tar.gz
- 将iPhone的22端口(SSH端口)映射到Mac本地的10086端口
cd 到python-client目录,及tcprelay.py所在目录
python tcprelay.py -t 22:10086 (加上-t参数是为了能够同时支持多个SSH连接)
注意:要想保持端口映射状态,不能终止此命令行(如果要执行其他终端命令行,请新开一个终端界面)
不一定非要10086端口,只要不是保留端口就行
- 端口映射完毕后,以后如果想跟iPhone的22端口通信,直接跟Mac本地的10086端口通信就可以了
ssh root@127.0.0.1 -p 10010