引言
本人手机越狱的坑,算是踩的差不多了,不同手机型号,不同系统的版本的越狱在网上其实都可以找到,花点时间踩坑是有必要的,如果读者看到跟我介绍的iOS系统版本、环境不同的情况下请自行去度娘、谷爹寻找不同之处以改进
手机:Iphone6 plus
iOS: 10.3.3
Mac:10.13.4
注
文章提到的所有插件源地址:http://apt.so/zacharyspark
在cydia中添加这个源里面有相关插件
什么是SSH
SSH是远程登录会话和其他网络服务提供安全性的协议,用于计算机之间的加密登录
早期都是明文通信
95年 芬兰人发明ssh协议当时最安全的一种协议
立刻马上就普及,且迅速蔓延
并且现在各大系统之间也都支持这个,比如说unix分之Mac、linux都支持ssh,在终端中都可以敲命令ssh
OpenSSH
是一个运用ssh的一个软件,提供ssh登录的一个软件
SSH怎么保证安全、以及它的过程是什么
准备: client、server
- client首先向server发送登录请求
- server收到请求以后发送一个公钥给client
- client将密码用公钥加密以后发给server
- server收到这段信息,用私钥解密,如果是正确的密码就登录成功
SSH的安全隐患?
中间人攻击(Man-in-the-MiddleAttack,简称“MITM攻击”)
通过各种技术手段将受入侵者控制的一台计算机虚拟放置在网络连接中的两台通信计算机之间,通过劫持、拦截正常的网络数据并进行篡改,而通信的双方却并不知道
曾经猖獗一时的SMB会话劫持、DNS欺骗等技术都是典型的MITM攻击手段
实现原理:
- 在client向server发送请求的时候,在client与server之间架起伪server然后拦截client的请求
- 用伪server向server发送一个登录请求,
- server生成密钥A:公钥A,私钥A 反给伪server
- 伪server拿到公钥A以后,立马生成一对密钥B:公钥B、私钥B,将公钥B反给client
- client拿到公钥B以后进行密码加密,发送server,然后伪server拦截
- 伪server拿到这段密文,用私钥B进行解密拿到密码,发送给黑客server,再将密码用公钥A进行加密发送给server
这个过程就是整个中间人攻击的原理
说白了就是,client只知道去连接了server,并不知道这个server其实是MITMServer,Server收到登录请求并给予回应,但它不知道这个client是MITMServer。
SSH的隐患防护
将server的公钥进行公开,让所有的client知道公钥
每次登录的时候,对返回的公钥跟公开的公钥进行肉眼识别,正确在进行密码输入
Wi-Fi使用SSH进行远程登录
准备
- 请在同一个Wi-Fi下使用ssh
- 手机需要安装OpenSSH
登录操作
1. 在准备完成的情况下,输入命令
$ ssh 用户名@手机ip
- 须知:
- 用户名为你手机的权限名称:
- root 越狱所需要拿到的root用户
- Mobile 普通用户
- 手机ip,在你的手机设置->Wi-Fi中查看
- 用户名为你手机的权限名称:
- 例
$ ssh root@192.168.1.10
2. 根据提示进行操作
The authenticity of host '172.16.107.9 (172.16.107.9)' can't be established.
ECDSA key fingerprint is SHA256:wv1CCBadfRIKUcK9Jdm/6tRyM7v1Zpu9ebRDc8y66jg.
Are you sure you want to continue connecting (yes/no)?
输入yes
The authenticity of host '172.16.107.9 (172.16.107.9)' can't be established.
ECDSA key fingerprint is SHA256:wv1CCBadfRIKUcK9Jdm/6tRyM7v1Zpu9ebRDc8y66jg.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.16.107.9' (ECDSA) to the list of known hosts.
Connection closed by 172.16.107.9 port 22
再次连接
$ ssh root@192.168.1.10
输入你手机的ssh登录密码,因为OpenSSH
是cydia作者写的,鼻祖人物
Jay Freeman大佬已经将连接的服务写成一个软件OpenSSH,默认的密码是
alpine
、默认端口是22,在Cydia的首页有介绍SSH登录操作输入
alpine
$ ssh root@172.16.107.9
root@172.16.107.9's password:
gaoganggangde-iPhone:~ root#
连接成功!
SSH免密登录
免密登录的原理是
- 将公钥发给Server
- server收到公钥,随机生成功一段字符串A发给client
- client用私钥加密字符串A生成密文A,
- server利用私钥A对密文A进行解密,如果可以解密那就代表登录成功
如果配置完成以后还需要输入密码,server端请直接给/var/root/.ssh文件配置chmod 755的权限
操作过程
1. 生成一对密钥
$ ssh-keygen
中间的密码什么的可以直接略过只要这对密钥
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/zacharyspark/.ssh/id_rsa):
/Users/zacharyspark/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/zacharyspark/.ssh/id_rsa.
Your public key has been saved in /Users/zacharyspark/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:jFggUQGYs5qOhAvemc75dgirSRy0n8eCilXfsFh3Sv4 zacharyspark@localhost
The key's randomart image is:
+---[RSA 2048]----+
| o+++. |
|+ . . |
| + . |
|o . o o |
|o+ o + S . |
|*.+oo+ B o |
|*=o+*o+ + |
|*+o=+o . . |
|ooo+o.. E |
+----[SHA256]-----+
看到最下面的图就代表你成功的生成了一对密钥
$ cd ~/.ssh
$ ls
id_rsa id_rsa.pub known_hosts
得到了私钥、公钥
2. 将公钥给Server
$ ssh-copy-id root@172.16.107.9
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/Users/zacharyspark/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@172.16.107.9's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'root@172.16.107.9'"
and check to make sure that only the key(s) you wanted were added.
3. 输入SSH登录命令
$ ssh root@172.16.107.9
xxx-iPhone:~ root#
直接登录成功没有在输入密码!