前提条件
- 越狱设备
- 设备已安装OpenSSH
流程
- 生成RSA证书
- 推送公钥到iOS设备
- 配置~/.ssh/config文件
- 远程SSH登陆
生成RSA证书
ssh-keygen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23$ ssh-keygen
// 默认为id_rsa 可另取名比如 iPadMini 密码Apple$%^321
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/Jason/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in iPadMini.
Your public key has been saved in iPadMini.pub.
The key fingerprint is:
SHA256:6lL+mpTksDTg4CsPiqD1WIemisd1BeoLtbXmgKuhjto Jason@BJ-iAir
The key's randomart image is:
+---[RSA 2048]----+
| |
| . |
|. . . . |
|.o .o . . |
| ..++o.oS |
| +.=B=o |
|=o.+=O* |
|X*+*o+o. |
|&=E ..+o. |
+----[SHA256]-----+
将RSA证书移动到~/.ssh/目录下
1
2$ mv iPadMini ~/.ssh/
$ mv iPadMini.pub ~/.ssh/
推送公钥到iOS设备
~/.ssh/ 目录是否存在
1
2
3
4
5$ ssh root@your_device_ip
// 没有.ssh目录时
$ cd ~
$ mkdir .ssh
推送公钥
1
2
3
4$ scp ~/.ssh/iPadMini.pub root@your_device_ip:/var/root/.ssh/
root@192.168.5.105's password:
iPadMini.pub 100% 395 0.4KB/s 00:00
修改公钥文件名
1
2
3
4$ cd ~/.ssh/
// 当不存在authorized_keys该文件时 可以
$ mv iPadMini.pub authorized_keys
// 当存在时,可用cat将公钥加到authorized_keys文件尾
配置~/.ssh/config文件
1
2
3
4
5// 进行远程登陆操作的计算机(比如 Mac OS)
$ cd ~/.ssh/
// 查看config文件是否存在,不存在则创建
$ mkdir config
config内容格式:
1
2
3
4
5Host aMini
HostName your_device_ip ## 设备ip
User root ## 用户名
PreferredAuthentications publickey
IdentityFile ~/.ssh/iPadMini ## 指定RSA私钥文件
远程登陆
1
2
3$ ssh aMini
Enter passphrase for key '/Users/Jason/.ssh/iPadMini':
niya:~ root#
已经能免密码SSH登陆了