ssl自签shell脚本
#!/bin/bash
SCRIPT_PATH=$(readlink -f "$0")
SCRIPT_DIR=$(dirname "$SCRIPT_PATH")
# 自签SSL证书配置脚本 - 适用于Linux宝塔面板
# 请在运行前确认已安装宝塔面板
# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
NC='\033[0m' # 无颜色
# 日志函数
log_info() {
echo -e "${GREEN}[INFO]${NC} $1"
}
log_warning() {
echo -e "${YELLOW}[WARNING]${NC} $1"
}
log_error() {
echo -e "${RED}[ERROR]${NC} $1"
}
# 创建证书目录
create_cert_dir() {
log_info "创建证书目录..."
mkdir -p ${SCRIPT_DIR}/${domain}
}
# 生成私钥和证书
generate_cert() {
log_info "开始生成自签SSL证书..."
openssl req -newkey rsa:2048 -nodes -keyout ${SCRIPT_DIR}/${domain}/${domain}.key \
-x509 -days 3650 -out ${SCRIPT_DIR}/${domain}/${domain}.crt \
-subj "/C=CN/ST=State/L=City/O=Organization/CN=${domain}"
if [ $? -ne 0 ]; then
log_error "证书生成失败"
exit 1
fi
log_info "证书生成成功"
}
kkkkk(){
rm -rf ${SCRIPT_DIR}/${domain}
}
# 主函数
main() {
# 获取域名
read -p "请输入您的域名: " domain
if [ -z "$domain" ]; then
log_error "域名不能为空"
exit 1
fi
kkkkk
create_cert_dir
generate_cert
log_info "========================================================="
log_info "自签SSL证书配置完成!"
log_info "证书路径: ${SCRIPT_DIR}/${domain}/"
log_info "注意: 自签证书会被浏览器标记为不安全,建议在生产环境使用受信任的CA证书"
log_info "========================================================="
}
main
评论区