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。