openssl操作大纲

实现公钥加密

生成【秘钥】: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
		# 看到列表中有显示编号,表示吊销信息已公布,完成吊销

实现基于密钥登录

# centos7生成密钥对,cp公钥到8,则可以实现centos7无密码连接8
【在客户端生成密钥对】
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

你可能感兴趣的:(Linux,openssl)