Debian 上 OpenSSL 命令行高效用法
一 快速上手与环境准备
sudo apt update && sudo apt install -y opensslopenssl versionsudo mkdir -p /etc/ssl/private && sudo chmod 700 /etc/ssl/privatesudo apt install --only-upgrade ca-certificates && sudo update-ca-certificatessudo apt install -y libssl-dev二 密钥与证书高频操作
openssl genpkey -algorithm RSA -out server.key 2048openssl ecparam -genkey -name secp384r1 -out server.keyopenssl req -new -key server.key -out server.csropenssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crtopenssl x509 -in server.crt -text -nooutopenssl x509 -in server.crt -enddate -nooutopenssl x509 -in server.crt -fingerprint -sha256 -nooutopenssl x509 -in server.crt -outform DER -out server.deropenssl rsa -in server.key -pubout -out server.pubopenssl ec -in server.key -pubout -out server.pub三 连接测试与诊断
openssl s_client -connect www.example.com:443 -servername www.example.comopenssl s_client -connect www.example.com:443 -servername www.example.com > handshake.log 2>&1openssl s_client -connect www.example.com:443 -tls1_3openssl s_client -connect www.example.com:443 -cipher AES256-GCM-SHA384openssl s_client -connect www.example.com:443 -servername www.example.com -verify_return_erroropenssl s_client -connect www.example.com:443 -CAfile my_ca_cert.pemopenssl s_client -connect www.example.com:443 -cert client.crt -key client.keyecho | openssl s_client -connect www.example.com:443 -servername www.example.com -showcerts 2>/dev/null | openssl x509 -noout -text四 文件格式与兼容性要点
openssl x509 -in server.crt -outform DER -out server.deropenssl rsa -in server.key -text -nooutopenssl x509 -in pub.pem -text -noout;若是“裸公钥”,用 openssl pkey -in pubkey.pem -pubin -text -noout五 安全与排错最佳实践
openssl rsa -aes256 -in server.key -out server.key.enc)sudo apt update && sudo apt upgrade,并升级 ca-certificates 与 OpenSSLopenssl version,确认无已知漏洞的旧版本openssl x509 -in server.crt -enddate -noout、-fingerprint 核对指纹openssl s_client ... -servername <域名> 并检查链、SNI、证书是否匹配OPENSSL_DEBUG=1sudo update-ca-certificates