iOS 逆向工程(六)之客户端免密登录服务端

SSH的客户端认证方式

a.基于密码的客户端认证:使用账号和密码认证

b.基于密钥的客户端认证:免密码认证

SSH-2协议原理:默认优先尝试“密钥认证”,密钥认证失败才尝试“密码认证”

客户端【Mac】准备:公钥(~/.ssh/id_rsa.pub)、私钥(~/.ssh/id_rsa)

服务端【iPhone】准备:授权文件(~/.ssh/authorized_keys)

方式一:

将客户端公钥内容追加到服务端授权文件的尾部:

1.在客户端 .ssh 目录下 输入 ls -l 回车;

2.输入 ssh-copy-id root@192.168.1.8 (服务器端IP地址)回车;

3.yes 回车;

服务器端授权文件:

客户端公钥文件:

方式二:

将客户端公钥文件拷贝到服务器端目标位置,再将公钥文件的内容追加到服务器端授权文件里的尾部:

1.在客户端 .ssh 目录下 输入 ls -l 回车;

2.输入 scp ~/.ssh/id_rsa.pub root@192.168.1.8:~/.ssh 回车;

3.输入登录密码回车;

4.输入 ssh root@192.168.1.8 回车;

5.入登录密码回车;

6.输入 cd .ssh 回车;

7.输入查看命令 ls -l 回车;

8.将id_rsa.pub 文件 追加到authorized_keys 中:cat id_rsa.pub >> authorized_keys 回车;

9.删除id_rsa.pub文件:rm id_rsa.pub 回车

10.退出服务器端,输入exit 回车;

11.重新进入服务器端:ssh root@192.168.1.8 回车

Tip:删除授权文件,取消免密登录

1.终端输入 ssh root@192.168.1.8  回车;

2.输入 cd .ssh 回车;

3.查看文件 输入 ls -l 回车;

4.输入 rm authorized_keys 回车

原文地址:https://www.cnblogs.com/akiha/p/13362923.html