实现公钥加密
生成【秘钥】:gpg --gen-key
查看所有秘钥:gpg --list-key
导出【公钥】:gpg -a --export -o xxx.pubkey
导入【公钥】:gpg --import xxx.pubkey
使用公钥加密:gpg -e -r uid FILE 生成FILE.gpg
使用私钥解密:gpg -d FILE.gpg 【在拥有私钥的主机上】
实现 PKI
【A 端】
生成普通私钥:openssl genrsa -out pr.key
生成加密私钥:openssl genrsa -out mi.pr.key -des3 4096
【B 端】
解开加密的私钥:openssl rsa -in mi.pr.key -out pr.key
从私钥提取公钥:openssl rsa -in pr.key -pubout -out pub.key
实现私有 CA
【centos8创建目录】mkdir -pv /etc/pki/CA/{certs,crl,newcerts,private}
注:centos7自带这些目录
【创建前置文件】
touch /etc/pki/CA/index.txt
echo 01 > /etc/pki/CA/serial
【生成CA私钥】
cd /etc/pki/CA/ 【下一行是相对路径】
(umask 066; openssl genrsa -out private/cakey.pem 1024)
【查看私钥】cat /etc/pki/CA/cakey.pem
【创建自签名证书】
cd /etc/pki/CA/ 【下一行是相对路径】
openssl req -new -x509 -key private/cakey.pem -days 1000 -out cacert.pem
【查看自签名证书】
cd /etc/pki/CA/ 【下一行是相对路径】
openssl x509 -in cacert.pem -noout -text
---------------------------------------------
【生成用户私钥】
【自定义目录】mkdir /data/qq
cd /etc/pki/CA/ 【下一行是相对路径】
(umask 066;openssl genrsa -out /data/qq/qq.key 1024)
【创建申请文件csr】
cd /etc/pki/CA/ 【下一行是相对路径】
openssl req -new -key /data/qq/qq.key -out /data/qq/qq.csr
【CA签署证书】
cd /etc/pki/CA/ 【下一行是相对路径】
openssl ca -in /data/qq/qq.csr -out certs/qq.crt -days 99
--------------------------------------------------------------
【吊销】
cd /etc/pki/CA/ 【下一行是相对路径】
【查询证书的 serial 编号】
openssl x509 -in certs/qq.crt -noout -serial
【查看qq证书的状态】
openssl ca -status 01
【执行吊销】
openssl ca -revoke newcerts/01.pem
【再次检查确认吊销】
openssl ca -status 01
【生成证书吊销列表文件】
echo 01 > crlnumber
openssl ca -gencrl -out crl.pem
【以文本格式查看吊销列表】
openssl crl -in crl.pem -noout -text
实现基于密钥登录
【在客户端生成密钥对】
ssh-keygen -t rsa [-P 'password'] [-f “~/.ssh/id_rsa"]
普通:ssh-keygen
脚本:ssh-keygen -P "" -f /root/.ssh/id_rsa &> /dev/null
【传输公钥】
ssh-copy-id [user@]host
普通:ssh-copy-id 10.0.0.8
脚本:sshpass -p $PASS ssh-copy-id -o StrictHostKeyChecking=no -i /root/.ssh/id_rsa.pub $NET.$i &> /dev/null
【加密私钥】【可选】
ssh-keygen -p
【启用代理】
ssh-agent bash
检验:ps aux|grep agent
【添加代理】
ssh-add