在 Debian 上“启用 OpenSSL”通常分几种情况,我按常见需求给你说明,你对照用即可。
大多数 Debian 默认已安装 OpenSSL。
openssl version
有输出版本号说明已安装,例如:
OpenSSL 3.0.11 19 Sep 2023
如果提示 command not found,则安装:
sudo apt update
sudo apt install openssl
OpenSSL 本身不是一个“服务”,它通常是被其他服务(如 Nginx、Apache、Postfix、MySQL)调用的库或命令行工具。
以 Nginx 为例:
sudo apt install nginx
sudo systemctl enable nginx
sudo systemctl start nginx
然后在站点配置中启用 SSL:
listen 443 ssl;
ssl_certificate /etc/ssl/certs/xxx.crt;
ssl_certificate_key /etc/ssl/private/xxx.key;
sudo openssl req -x509 -nodes -days 365 \
-newkey rsa:2048 \
-keyout /etc/ssl/private/selfsigned.key \
-out /etc/ssl/certs/selfsigned.crt
openssl req -new -newkey rsa:2048 -nodes \
-keyout domain.key -out domain.csr
Debian 12 开始支持 crypto-policies:
sudo apt install crypto-policies
sudo update-crypto-policies --set DEFAULT
查看当前策略:
update-crypto-policies --show
只要安装了对应扩展即可:
# PHP
sudo apt install php-openssl
# Python
sudo apt install python3-openssl
一般默认已启用。
例如 Apache:
sudo a2enmod ssl
sudo systemctl restart apache2
| 场景 | 操作 |
|---|---|
| 安装 OpenSSL | apt install openssl |
| 生成证书 | openssl req ... |
| Web 启用 SSL | Nginx/Apache + 证书 |
| 系统加密策略 | crypto-policies |
| Apache 模块 | a2enmod ssl |
如果你说的是某种具体服务(Nginx / Apache / MySQL / SSH)启用 OpenSSL,告诉我具体场景,我可以直接给你配置文件。