如何部署公钥认证?

RHEL-Like

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

没有评论

发表回复

RHEL-Like
如何配置rsyncd服务?

1 前言 一个问题,一篇文章,一出故事。 由于笔者想实现文件通过rsync自动传输,但是又不想使用o …

RHEL-Like
如何用pam_google_authenticator认证模块实现SSH 2FA?

1 前言 一个问题,一篇文章,一出故事。 笔者想开启2FA以便增强SSH服务的安全性,于是便整理此文 …

RHEL-Like
如何升级RHEL clamav杀毒?

1 前言 一个问题,一篇文章,一出故事。 笔者需要卸载旧的病毒软件,然后更新rpm包的病毒软件,于是 …