如何部署公钥认证?
- By : Will
- Category : RHEL-Like
- Tags: 公钥认证,免密码,登录

1. 概念
什么叫公钥认证?即是公钥与私钥认证,像极你家里的锁和钥匙的关系,他们相互校验。
公钥是公开的,谁都可以看得见(锁也是),公钥用于加密服务(锁住服务器)
私钥是私有的(钥匙也是),用于解密服务(开服务器的锁)
好吧,笔者胡扯完你应该可以看明白以下专业定义,
– 公钥认证,实际上是使用一对加密字符串
– 一个称为公钥(public key),任何人都可以看到其内容,用于加密
– 另一个称为密钥(private key),只有拥有者才能看到,用于解密
– 通过公钥加密过的密文使用密钥可以轻松解密,但根据公钥来猜测密钥却十分困难
2. 实践
2.1 环境
Server:
IP Address: 10.168.0.176
OS: Centos x.x
Client:
IP Address: 10.168.0.x
OS: Centos x.x
2.2 单向的公钥认证配置
2.2.1 创建秘钥对
In Client,
ssh-keygen
以上一直回车就好(需要配置密码除外),如果你想简单点,请使用如下命令代替,
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
2.2.2 部署公钥到至服务端
In Client,
ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.168.0.176
2.2.3 测试公钥认证
In Client,
ssh root@10.168.0.176
2.3 双向公钥认证
In Client,
2.3.1 复制私钥到对端
scp ~/.ssh/id_rsa root@10.168.0.176:~/.ssh/
2.3.2 部署公钥到本地
ssh-copy-id -i ~/.ssh/id_rsa.pub root@localhost
双向的公钥认证只需要保证每台服务包含公钥和私钥即可,通常情况下只需要执行以上命令
2.3.3 测试双向公钥认证
In Server,
ssh root@10.168.0.x
2.4 Windows客户端的公钥认证
请参考以下文章的3.4章节吧,笔者不想写了,谢谢!
https://www.cmdschool.org/archives/292
没有评论