Debian系统默认软件源包含OpenSSL,可通过以下命令快速安装:
sudo apt update && sudo apt install openssl 若需编译使用OpenSSL的程序(如自定义加密工具),还需安装开发库:
sudo apt install libssl-dev 安装完成后,通过openssl version命令验证安装是否成功,正常会显示版本信息(如OpenSSL 3.0.2 15 May 2021)。
若需要特定版本或自定义配置(如启用实验性加密算法),可从OpenSSL官网下载源码编译:
wget https://www.openssl.org/source/openssl-3.0.2.tar.gz # 替换为目标版本 tar -xzvf openssl-3.0.2.tar.gz cd openssl-3.0.2 ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlib # 配置安装路径及功能 make -j$(nproc) # 使用多核编译加速 sudo make install 编译完成后,需更新动态库缓存以让系统识别新安装的库:
echo "/usr/local/openssl/lib" | sudo tee /etc/ld.so.conf.d/openssl.conf sudo ldconfig 为方便使用,可将OpenSSL路径添加到环境变量:
echo 'export PATH=/usr/local/openssl/bin:$PATH' >> ~/.bashrc source ~/.bashrc 再次运行openssl version确认版本是否指向自定义安装路径。
openssl genpkey -algorithm RSA -out private.key -aes256 执行后会提示输入私钥密码(可选但推荐)。
openssl rsa -in private.key -pubout -out public.key 需输入私钥密码(若有)。
openssl req -new -key private.key -out csr.csr 运行后会提示输入国家、省份、组织名称、域名等信息(如Common Name需填写服务器域名)。
openssl x509 -req -days 365 -in csr.csr -signkey private.key -out certificate.crt 生成的certificate.crt即为自签名证书,可用于测试环境。
openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted.bin -pass pass:yourpassword 需输入密码,加密后的文件保存为encrypted.bin。
openssl enc -d -aes-256-cbc -in encrypted.bin -out decrypted.txt -pass pass:yourpassword 输入相同密码即可解密,结果保存到decrypted.txt。
openssl x509 -in certificate.crt -text -noout 会显示证书的详细信息,包括颁发者、有效期、公钥、扩展字段等。
sudo apt install apache2 sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \ -keyout /etc/ssl/private/apache-selfsigned.key \ -out /etc/ssl/certs/apache-selfsigned.crt 此命令会生成私钥(apache-selfsigned.key)和自签名证书(apache-selfsigned.crt)。
编辑默认SSL站点配置文件:
sudo nano /etc/apache2/sites-available/default-ssl.conf 修改以下内容,指定证书和私钥路径:
<VirtualHost *:443> ServerAdmin webmaster@localhost DocumentRoot /var/www/html SSLEngine on SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key <Directory /var/www/html> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost> sudo a2enmod ssl # 启用SSL模块 sudo a2ensite default-ssl # 启用SSL站点配置 sudo systemctl restart apache2 # 重启Apache 在浏览器中访问https://yourdomain.com(替换为实际域名),若看到锁图标则表示SSL配置成功。也可通过命令行验证:
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 正常会显示证书信息和SSL握手结果。
private.key、apache-selfsigned.key)需严格保密,泄露会导致加密失效。sudo apt update && sudo apt upgrade openssl更新OpenSSL,修复安全漏洞。/etc/ssl/openssl.cnf前务必备份(如sudo cp /etc/ssl/openssl.cnf /etc/ssl/openssl.cnf.bak),避免配置错误导致系统无法使用OpenSSL。