环境准备:????
| 主机:A | IP:192.168.10.101 | 用户:zhangsan |
|---|---|---|
| 主机:B | IP:192.168.10.102 | 用户:lisi |
现在要实现的是B主机上的用户lisi可以无需密码即可登录到A主机zhangsan用户中:
1.在客户端创建**对
在Linux客户端中,通过ssh-******工具为当前用户创建**对文件,可用的加密算法为:
ECDSA或DSA(ssh-******命令的-t选项指定算法类型)
创建B主机上用户lisi作为用户登陆客户端,并生成基于ECDSA算法的SSH**对(公钥、私钥文件):
注意:生成**对前请先切换到要生成用户**对的用户中
code:ssh-****** -t ecdsa
2.将公钥文件(id_ecdsa.pub)上传到服务器:
Code:scp /home/lisi/.ssh/id_ecdsa.pub [email protected]:/tmp
3.在服务器中导入**文本
-
先在用户的宿主目录下创建
.ssh目录mkdir /home/zhangsan/.ssh -
cat命令重定向到
/home/zhangsan/.ssh/authorized_keys文件中(这一步请务必使用root用户做)
4.验证ssh [email protected]
BinGo~完成
总结:
通过实验得知:
| id_ecdsa | 私钥 |
|---|---|
| id_ecdsa.pub | 公钥 |
| 公约验证 | 私钥解密 |
分为四个步骤:
- 客户端创建**对
- 将公钥上传到服务器
- 在服务器中导入公钥文件
- 在客户端使用公钥对验证登陆
好处:
- 使用**对验证的方式登录,不需知道服务器中用户的密码
- 更安全