一、安装 Mac 上提高效率的辅助工具 (可选)
二、简介
1、我们经常在 Mac
的终端上通过敲一些命令行来完成一些操作。
2、iOS
和 Mac OS X
都是基于 Darwin
(苹果的一个基于 Unix
的开源系统内核) ,所以 iOS
中同样支持终端的命令行操作。
3、在逆向工程中,我们经常会通过命令行来操纵 iPhone
。
4、为了能够让 Mac
终端中的命令行能作用在 iPhone
上,我们得让 Mac
和 iPhone
建立连接。
5、通过 Mac
远程登录到 iPhone
的方式建立连接。
三、SSH
与 OpenSSH
Secure Shell
的缩写,意为安全外壳协议
, 是一种可以为远程登录提供安全保障的协议- 使用
SSH
,可以把所有传输的数据进行加密,中间人
攻击方式就不可能实现,能防止DNS
欺骗和IP
欺骗,中途拦截篡改数据。
OpenSSH
:
- 是
SSH
协议的免费开源实现。 - 可以通过
OpenSSH
的方式让Mac
远程登录到iPhone
。
四、使用 OpenSSH
远程登录到 iPhone
,先安装 OpenSSH
- 默认
iPhone
上是不支持OpenSSH
的,我们需要通过Cydia
安装OpenSSH
工具 (软件源http://apt.saurik.com) - 打开
Cydia
搜索OpenSSH
即可安装,如果搜不到在添加上面的软件源,默认应该是有的,如果网络有问题建议换个网络环境。(附:Cydia 商店安装方式)
五、OpenSSH
使用步骤
1、SSH
是通过 TCP
协议通信,所以要确保 Mac
和 iPhone
在同一局域网下,比如连接着同一个 WiFi
。
2、然后在 Mac
的终端输入 ssh 账户名@服务器主机地址
这种格式的命令进行连接 iPhone
。
3、iOS
下有 2
个常用账户: root
、mobile
root
:最高权限账户,$HOME
(路径)是/var/root
mobile
:普通权限账户,只能操作一些普通文件,不能操作系统级别的文件,$HOME
(路径)是/var/mobile
4、账户名
我们这里用 root
。
5、服务器主机地址
也就是 IP
地址,电脑与手机都连接一个 Wifi
,然后打开手机 设置 -> 无限局域网 -> 点你连接Wifi后面的叹号 -> 然后就看到 IP 地址了
。
6、然后通过以上结合的命令就是: ssh root@10.0.89.184
,然后在命令行中使用,(OpenSSH
的默认密码都是 alpine
)。
dengzemiaodeMacBook-Pro:~ dengzemiao$ ssh root@10.0.89.184 // 这个 IP 地址是没有建立过连接的 The authenticity of host '10.0.89.184 (10.0.89.184)' can't be established. // 服务器公钥通过 SHA256 加密之后的字符串,如果确定连接将解析出来并存到本地 // 一个方便下次连接不需要再次询问确认,二个以免有同样 IP 地址的服务端冒充 RSA key fingerprint is SHA256:TmFvst8CU2JJqrFZ1QIANzprd1rUckdYjV4lcVaS8Gk. // 问你是否确定连接,选 yes // 然后就会将验证公钥解析出来并存到你本地 ~/.ssh/known_hosts 文件夹里面,下次连接使用 // 可以通过命令 $ ssh-keygen -R 10.0.89.184 进行清除存储的公钥,然后再次回到这个询问 Are you sure you want to continue connecting (yes/no)? yes // 然后需要密码,OpenSSH 的默认密码都是 alpine ,所以你直接输入即可,下面也有修改密码教程 root@10.0.89.184's password: // 如果输入成功,就进入到 iPhone 里面了,这里可以通过正常的 cd、ls 等命令操作 iPhone:~ root# // exit 退出登录 iPhone:/ root# exit logout Connection to 10.0.89.184 closed.
六、修改 root
、mobile
用户的登录密码
1、登录 root
账号,只有它才有权限修改。
2、修改 root
账号的密码
// 登录手机 root 账户 dengzemiaodeMacBook-Pro:~ dengzemiao$ ssh root@10.0.89.184 // 输入旧密码 root@10.0.89.184's password: // 输入 passwd 命令进行修改密码 iPhone:~ root# passwd Changing password for root. // 输入新密码 New password: // 再次输入新密码 Retype new password:
3、修改 mobile
账号的密码,同样还是在 root
账号里面进行修改
// 通过 passwd 命令进行修改密码,passwd mobile :指的是修改 mobile 账户的密码 iPhone:~ root# passwd mobile Changing password for mobile. // 输入新密码 New password: // 再次输入新密码 Retype new password:
七、(附带扩展知识)根据上面链接手机询问,如何查看比较公私钥?
连接手机成功之后,在电脑上查看一下存储的公钥是什么,之前有说如果确定连接了,公钥会被存到 ~/.ssh/known_hosts
这个文件夹中。
// 进入 ~/.ssh 文件 dengzemiaodeMacBook-Pro:~ dengzemiao$ cd ~/.ssh // 展示列表文件 dengzemiaodeMacBook-Pro:.ssh dengzemiao$ ls id_rsa id_rsa.pub known_hosts // 查看 known_hosts 文件 dengzemiaodeMacBook-Pro:.ssh dengzemiao$ cat known_hosts ....... 前面还有很多端口号,我就省略了,找到我们连接的端口号看看就好了 10.0.89.184 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCHckZZQzMFLhuHGwSQleU13ygF7Kv5URZSw88L1MtpL1jRo+Sa6IvNF9HMKScLxRed+XPSorBlt7vxaQbvSd2ESeqn3EW52S44z3Jnc4R4jUPfLqd1QgGbXbXc8emnTnqXv/o6aZcWQNlcNX8WBRJuXU5Tfr8NX9Sp8nERi2tiRKx01uh4S5eAEr7TUXE+Vh5kcXU6m0jQWsqTnwz3nHNTYlKyGz5qCpU/RufhavTxeaQyE9MH3E7RxTpjeSuYb3xNF7p3emXqnlrSZx3/RCvPMELDMiFlUCRRWxVCm6TtvUAkFwS6sMgT1lDWJvsF8ycr3qgUkkgwbAwsp+ZCz6xx // 客户端电脑的公钥看到了,我们可以看看服务端(手机)上的公钥 dengzemiaodeMacBook-Pro:.ssh dengzemiao$ ssh root@10.0.89.184 root@10.0.89.184's password: // 进入 /etc/ssh iPhone:~ root# cd /etc/ssh // 在 /etc/ssh 目录下有公私钥数据,我们打开公钥文件 iPhone:/etc/ssh root# cat ssh_host_rsa_key.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCHckZZQzMFLhuHGwSQleU13ygF7Kv5URZSw88L1MtpL1jRo+Sa6IvNF9HMKScLxRed+XPSorBlt7vxaQbvSd2ESeqn3EW52S44z3Jnc4R4jUPfLqd1QgGbXbXc8emnTnqXv/o6aZcWQNlcNX8WBRJuXU5Tfr8NX9Sp8nERi2tiRKx01uh4S5eAEr7TUXE+Vh5kcXU6m0jQWsqTnwz3nHNTYlKyGz5qCpU/RufhavTxeaQyE9MH3E7RxTpjeSuYb3xNF7p3emXqnlrSZx3/RCvPMELDMiFlUCRRWxVCm6TtvUAkFwS6sMgT1lDWJvsF8ycr3qgUkkgwbAwsp+ZCz6xx