rocky9.4 升级SSH 9.9p2

echo "##################################开始升级Openssh##################################################################################"

##ssh变量----------------------------------------
sshnumber='9.9p2'
sshnumber1=`ssh -V 2>&1 | cut -d, -f1 | awk -F "[_]" '{print $2}'`         #获取数字版本号,如${sshnumber}
sshnumber2=`ssh -V 2>&1 |awk '{print $1}'`                                  #当前版本信息,如openssh-${sshnumber}p1

if [ $sshnumber1 = "${sshnumber}" ];then

        echo "$sshnumber2 已是安全版本跳过升级"
else
            
        echo "##################################配置备份#################################################################################"    
        
        #备份ssh配置文件----------------------------------------
        mkdir -p /tmp/ssh_$times/ssh_config
        cp -a /etc/ssh/ssh* /tmp/ssh_$times/ssh_config/
        
        sleep 1
        #备份ssh启动文件----------------------------------------
        mkdir -p /tmp/ssh_$times/ssh-init
        mkdir -p /tmp/ssh_$times/sshd.service_backup
        cp -a /usr/lib/systemd/system/sshd.service /tmp/ssh_$times/sshd.service_backup
        
        sleep 1
        #备份ssh 认证模块----------------------------------------
        mkdir -p /tmp/ssh_$times/ssh-pam
        cp -a /etc/pam.d/sshd  /tmp/ssh_$times/ssh-pam
        sleep 1
                        
        #编译安装openssh
        
        echo "##################################开始编译安装openssh###################################################################"
        #外部下载源        
#        wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/penssh-9.9p2.tar.gz
    
        tar -xf openssh-${sshnumber}.tar.gz -C /opt/ 

        if [ $? != 0 ];then
            echo -e "\n\e[31m 【退出部署,请确认openssh包是否准备好!!!】 \e[0m\n"
            exit 1
        else    
            #卸载openssh
            echo "##################################开始卸载openssh#######################################################################"
            rpm -e `rpm -qa | grep openssh` --nodeps

            #编译openssh
            echo "##################################开始编译openssh#######################################################################"
            chown -R root.root /opt/openssh-${sshnumber}/
            cd /opt/openssh-${sshnumber}/
            ./configure --prefix=/usr/ --sysconfdir=/etc/ssh --with-openssl-includes=/usr/local/ssl/include --with-ssl-dir=/usr/local/openssl --with-zlib --with-md5-passwords --with-pam  
            make && make install

            #检查编译是否成功
            echo $?
            echo "##################################返回0 表示编译成功###################################################################"
            sleep 1
        fi    
        
        #配置还原
        
        echo "##################################开始配置重置#########################################################################"
        sleep 1
    
        mv /etc/ssh/sshd_config  /etc/ssh/sshd_config_$times
        mv /etc/ssh/ssh_config  /etc/ssh/ssh_config_$times
        
        cp -a /tmp/ssh_$times/ssh_config/sshd_config /etc/ssh
        cp -a /tmp/ssh_$times/ssh_config/ssh_config /etc/ssh

        cp -a /tmp/ssh_$times/sshd.service_backup/sshd.service /usr/lib/systemd/system                     
        
        cp -a /opt/openssh-${sshnumber}/contrib/redhat/sshd.init /etc/init.d/sshd
        cp -a /opt/openssh-${sshnumber}/contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
        
        cp -a /tmp/ssh_$times/ssh-pam/sshd /etc/pam.d
        
        sed -i '/#PermitRootLogin yes/c PermitRootLogin yes' /etc/ssh/sshd_config
        sed -i '/GSSAPIAuthentication/c #GSSAPIAuthentication' /etc/ssh/sshd_config
        sed -i '/GSSAPICleanupCredentials/c #GSSAPICleanupCredentials' /etc/ssh/sshd_config
        sed -i '/#PubkeyAuthentication yes/c PubkeyAuthentication yes' /etc/ssh/sshd_config
        #解决vsftp 文件传输问题报错问题
        sed -i 's|/usr/libexec/openssh/sftp-server|/usr/libexec/sftp-server|g' /etc/ssh/sshd_config
        #修改/etc/ssh ssh_host_*_key 文件权限
        ls /etc/ssh | grep -v pub | egrep "dsa|ecdsa|ed25519" | xargs -I {} chmod 600 /etc/ssh/{}
                               
        chmod +x /etc/init.d/sshd 
        
        #开机启动配置
        echo "##################################开始配置开机启动项###################################################################"
        sleep 1
        systemctl enable sshd
        systemctl daemon-reload
        systemctl restart sshd
        systemctl status sshd

### 关于 Rocky Linux 9.4 的安装与配置 Rocky Linux 是一种基于 RHEL(Red Hat Enterprise Linux)的开源操作系统,其设计目标是提供一个完全免费的企业级替代方案[^1]。以下是关于 Rocky Linux 9.4 安装和配置的相关信息: #### 下载与准备阶段 在开始安装之前,需要下载官方发布的 ISO 文件并将其刻录到 USB 设备或挂载至虚拟机环境中。此过程可以通过工具如 Rufus 来完成物理介质写入操作,或者通过 VMware 和 VirtualBox 等软件加载镜像文件来创建虚拟环境。 #### 启动引导界面的选择 当进入 GRUB 菜单时,可以看到多个选项供用户选择: - **Install Rocky Linux 9.4**: 这是用来全新部署系统的入口。 - **Rescue a Rocky Linux System**: 当现有系统出现问题无法正常启动时可以利用该功能修复损坏的数据分区或其他错误状况。 - **Run A Memory Test**: 对硬件中的 RAM 组件执行诊断检测程序以确认是否存在潜在缺陷。 - **Boot from Local Drive**: 如果已经存在可引导的操作系统,则可以直接从此项恢复运行状态而不需重新设置任何参数值。 - **Return To Main Menu**: 返回上级菜单继续其他任务处理流程[^3]。 实际案例显示,在真实场景下通常会选择第一个项目即“Install Rocky Linux 9.4”,并通过键盘按键确认后正式开启整个安装进程[^2]。 #### 文本模式下的具体步骤说明 对于服务器端应用场合而言,默认图形化桌面并不总是必需品;因此可以选择更为轻量化的文本交互方式来进行初始化设定工作。“Test Mode”意味着无需依赖 GUI 支持就能顺利完成必要的基础架构搭建作业,包括但不限于磁盘划分、网络连接调整等方面的内容安排。 ```bash # 示例命令用于查看当前可用网卡设备列表 nmcli device status ``` 以上脚本片段展示了如何借助 `nmcli` 工具快速获取联网适配器的状态概览情况。 --- ####
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值