5.CA证书和openssh免密认证

发布时间 2023-05-21 18:34:39作者: 碧雪殇情

总结ca管理相关的工具,根据使用场景总结示例

一.私有CA实现证书颁发

1.创建私有CA
2.创建CA所需的文件
3.生成CA私钥
4.生成CA自签名证书

#生成证书索引数据库文件

touch /etc/pki/CA/index.txt

#指定第一个颁发证书的需要(16进制)

echo 01 > /etc/pki/CA/serial

#生成CA私钥

cd /etc/pki/CA

(umask 066; openssl genrsa -out private/cakey.pem 2048)

#生成CA自签名证书

openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -days 365 -out /etc/pki/CA/cacert.pem

-new:生成新证书签署请求

-x509:专用于CA生成自签名证书

-key:生成请求时用到的私钥文件

-days:证书的有效期

-out:自签证书的保存路径

二.证书申请及签署步骤

1.生成证书申请请求

2.RA核验

3CA签署

  1. 获取证书

#为需要使用证书的主机生成私钥

(umask 066;openssl genras -out /data/test.key 2048)

#为需要使用证书的主机生成证书申请文件

openssl req -new -key /data/test.key -out /data/test.csr

#在CA签署证书并将证书颁发给请求者

openssl ca -in /data/test.csr -out /etc/pki/CA/certs/test.crt -days 100

总结openssh免密认证原理,及免认证实现过程

SSH是一种能够以安全的方式提供远程登录的协议,也是目前远程管理Linux系统的首选方式。在此之前,一般使用FTP或Telnet来进行远程登录。但是因为它们以明文的形式在网络中传输账户密码和数据信息,因此很不安全,很容易受到黑客发起的中间人攻击,轻则篡改传输的数据信息,重则直接抓取服务器的账户密码。

想要使用SSH协议来远程管理Linux系统,则需要配置部署sshd服务程序。sshd是基于SSH协议开发的一款远程管理服务程序,不仅使用起来方便快捷,而且能够提供两种安全验证的方法:

基于密码的验证—用账户和密码来验证登录;

基于密钥的验证—需要在本地生成密钥对,然后把密钥对中的公钥上传至服务器,并与服务器中的公钥进行比较;该方式相较来说更安全。

安全秘钥验证:

  1. 在客户端主机中生成‘密钥对’。

  1. 把客户端中生成的公钥文件传输至远程服务器

  1. 对服务器进行配置更改,只允许秘钥验证,拒绝账号密码验证方式,改完配置文件后重启SSH服务。