首页主机资讯Debian系统中OpenSSL命令行工具使用教程

Debian系统中OpenSSL命令行工具使用教程

时间2025-11-18 01:57:04发布访客分类主机资讯浏览723
导读:Debian 上 OpenSSL 命令行工具使用教程 一 安装与版本检查 更新索引并安装: sudo apt update sudo apt install openssl 检查版本: openssl version 以上步骤...

Debian 上 OpenSSL 命令行工具使用教程

一 安装与版本检查

  • 更新索引并安装:
    • sudo apt update
    • sudo apt install openssl
  • 检查版本:
    • openssl version
  • 以上步骤适用于 Debian 系统,安装后即可在终端使用 OpenSSL 完成密钥、证书与加解密等常见任务。

二 密钥与证书常用操作

  • 生成 RSA 私钥(2048 位)
    • openssl genrsa -out private_key.pem 2048
  • 从私钥提取 公钥
    • openssl rsa -in private_key.pem -pubout -out public_key.pem
  • 生成 CSR(证书签名请求)
    • openssl req -new -key private_key.pem -out request.csr
  • 生成 自签名证书(X.509,有效期 365 天)
    • 方式一:openssl req -x509 -new -nodes -key private_key.pem -sha256 -days 365 -out certificate.crt
    • 方式二:openssl x509 -req -days 365 -in request.csr -signkey private_key.pem -out certificate.crt
  • 查看证书信息:
    • openssl x509 -in certificate.crt -text -noout
  • 证书格式转换:
    • PEM → DER:openssl x509 -in certificate.crt -outform DER -out certificate.der
    • DER → PEM:openssl x509 -in certificate.der -inform DER -out certificate.crt
  • 证书链验证(使用 CA 证书验证终端证书):
    • openssl verify -CAfile ca.crt certificate.crt

三 文件加解密与密钥交换

  • 对称加密(AES-256-CBC,带盐):
    • 加密:openssl enc -aes-256-cbc -salt -in plain.txt -out enc.bin
    • 解密:openssl enc -d -aes-256-cbc -in enc.bin -out dec.txt
  • 非对称加密(RSA,推荐用 pkeyutl):
    • 生成密钥:openssl genpkey -algorithm RSA -out rsa_key.pem -pkeyopt rsa_keygen_bits:2048
    • 提取公钥:openssl rsa -pubout -in rsa_key.pem -out rsa_pubkey.pem
    • 公钥加密:openssl pkeyutl -encrypt -pubin -inkey rsa_pubkey.pem -in plain.txt -out enc.bin
    • 私钥解密:openssl pkeyutl -decrypt -inkey rsa_key.pem -in enc.bin -out dec.txt
  • 兼容旧命令(rsautl,部分场景仍可用):
    • 加密:openssl rsautl -encrypt -pubin -inkey rsa_pubkey.pem -in plain.txt -out enc.bin
    • 解密:openssl rsautl -decrypt -inkey rsa_key.pem -in enc.bin -out dec.txt
  • 生成 DH 参数ECDH 密钥(用于密钥协商):
    • DH 参数:openssl dhparam -out dhparams.pem 2048
    • ECDH 密钥:openssl ecparam -name secp384r1 -genkey -noout -out ecdhkey.pem
    • 导出 ECDH 公钥:openssl pkey -in ecdhkey.pem -pubout -out ecdhpub.pem

四 PKCS 12 证书与服务器快速上手

  • 打包 PKCS#12(.p12/.pfx)
    • openssl pkcs12 -export -in certificate.crt -inkey private_key.pem -out keystore.p12 -name mycert
  • 从 PKCS#12 提取:
    • 提取证书:openssl pkcs12 -in keystore.p12 -clcerts -nokeys -out certificate.crt
    • 提取私钥:openssl pkcs12 -in keystore.p12 -nocerts -out private.key -nodes
  • Nginx 快速启用 HTTPS(自签名示例):
    • 生成私钥与证书:
      • openssl genpkey -algorithm RSA -out /etc/nginx/ssl/nginx.key
      • openssl req -new -key /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.csr
      • openssl x509 -req -days 365 -in /etc/nginx/ssl/nginx.csr -signkey /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt
    • 配置 /etc/nginx/sites-available/default:
      • listen 443 ssl; server_name yourdomain.com;
      • ssl_certificate /etc/nginx/ssl/nginx.crt; ssl_certificate_key /etc/nginx/ssl/nginx.key;
    • 校验与生效:
      • sudo nginx -t & & sudo systemctl restart nginx
  • 远程查看站点证书链与握手信息:
    • openssl s_client -connect yourdomain.com:443 -servername yourdomain.com

五 实用建议与常见问题

  • 保护私钥:设置权限为 600,并妥善备份;避免将私钥提交到代码仓库。
  • 加密口令输入:交互式更安全(命令不带 -pass),或在脚本中使用文件/环境变量并严格管控权限。
  • 证书链完整:部署时同时配置 中间证书链,避免浏览器或客户端报不受信任。
  • 协议与套件:生产环境优先使用 TLS 1.2/1.3,禁用 SSLv3/TLS1.0/1.1 与不安全套件。
  • 获取帮助:使用 man openssl 或查阅 OpenSSL 官方文档,按需求选择算法与参数。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Debian系统中OpenSSL命令行工具使用教程
本文地址: https://pptw.com/jishu/749629.html
Debian OpenSSL与OpenSSL库的关系探讨 Debian系统OpenSSL安全策略制定

游客 回复需填写必要信息