老师怎么赚一百万...
这是一个留言本!要来留言签到嘛...
还有 5 人发表了评论 加入471人围观这是一个留言本!要来留言签到嘛...
还有 5 人发表了评论 加入471人围观此文章只用于学习交流,
#!/bin/bash # 检测系统类型 if command -v dnf &> /dev/null; then PACKAGE_MANAGER="dnf" elif command -v apt-get &> /dev/null; then PACKAGE_MANAGER="apt-get" else echo "error: 无法检测到支持的包管理器" exit 1 fi # 将所有输出重定向到 output.log 文件 exec > >(tee -a output.log) exec 2> >(tee -a output.log >&2) # 安装必要的包 echo "安装依赖包..." $PACKAGE_MANAGER install -y gcc make perl zlib-devel pam-devel wget krb5-devel if [ "$?" != "0" ]; then echo "error: 安装依赖项失败" exit 1 fi # 检查当前版本 echo "当前版本信息:" ssh -V openssl version # 创建工作目录 mkdir -p /root/rqjc cd /root/rqjc || { echo "error: 进入 /root/rqjc 目录失败"; exit 1; } ############################################## # 安装 OpenSSL 3.5.0 ############################################## echo "开始安装 OpenSSL 3.5.0..." # 下载并解压 OpenSSL 源代码包 wget https://www.openssl.org/source/openssl-3.5.0.tar.gz || { echo "error: 下载 OpenSSL 源代码包失败"; exit 1; } tar -zxvf openssl-3.5.0.tar.gz || { echo "error: 解压 OpenSSL 源代码包失败"; exit 1; } cd openssl-3.5.0 || { echo "error: 进入 OpenSSL 解压目录失败"; exit 1; } # 检查依赖项 if command -v cpan &> /dev/null; then sudo cpan IPC::Cmd || { echo "error: 安装 IPC::Cmd 模块失败"; exit 1; } else echo "error: cpan 未安装,请先安装 cpan" exit 1 fi # 配置编译选项 ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlib # 编译并安装 make -j$(nproc) || { echo "error: OpenSSL 编译失败"; exit 1; } sudo make install || { echo "error: OpenSSL 安装失败"; exit 1; } # 更新动态链接库配置 echo "/usr/local/openssl/lib64" | sudo tee /etc/ld.so.conf.d/openssl-3.5.0.conf sudo ldconfig # 验证安装 echo "OpenSSL 安装完成,版本信息:" /usr/local/openssl/bin/openssl version ############################################## # 安装 OpenSSH 10.0p1 ############################################## echo "开始安装 OpenSSH 10.0p1..." cd /root/rqjc || { echo "error: 进入 /root/rqjc 目录失败"; exit 1; } # 下载并解压 OpenSSH 源代码包 wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-10.0p1.tar.gz || { echo "error: 下载 OpenSSH 源代码包失败"; exit 1; } tar -zxvf openssh-10.0p1.tar.gz || { echo "error: 解压 OpenSSH 源代码包失败"; exit 1; } cd openssh-10.0p1 || { echo "error: 进入 OpenSSH 解压目录失败"; exit 1; } # 配置编译选项(明确指定 OpenSSL 路径) ./configure --with-ssl-dir=/usr/local/openssl --with-zlib --with-pam || { echo "error: OpenSSH 编译配置失败"; exit 1; } # 编译并安装 make || { echo "error: OpenSSH 编译失败"; exit 1; } sudo make install || { echo "error: OpenSSH 安装失败"; exit 1; } # 备份现有配置文件 sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak || { echo "warning: 备份 SSH 配置文件失败"; } sudo cp /etc/ssh/ssh_config /etc/ssh/ssh_config.bak || { echo "warning: 备份 SSH 配置文件失败"; } # 更新系统链接 sudo mv /usr/bin/ssh /usr/bin/ssh-old && sudo ln -sf /usr/local/bin/ssh /usr/bin/ssh || { echo "error: 更新 SSH 链接失败"; exit 1; } # 重启 SSH 服务 sudo systemctl restart sshd || { echo "error: 重启 SSH 服务失败"; exit 1; } # 验证安装 echo "OpenSSH 安装完成,版本信息:" ssh -V echo "链接的 OpenSSL 版本:" strings /usr/local/bin/ssh | grep OpenSSL echo 'hello' # 检查服务状态 sudo systemctl status sshd echo "升级完成!"