• Centos升级Openssh版本至openssh-9.3p2


    一、启动Telnet服务

    为防止升级Openssh失败导致无法连接ssh,所以先安装Telnet服务备用

    1.安装telnet-server及telnet服务

    yum install -y telnet-server* telnet

    2.安装xinetd服务

    yum install -y xinetd

    3.启动xinetd及telnet并做开机自启动
    systemctl enable xinetd.service
    systemctl enable telnet.socket
    systemctl start telnet.socket
    systemctl start xinetd.service
    
    4.修改/etc/securetty文件

    默认情况下,系统是不允许root用户telnet远程登录的。如果要使用root用户直接登录,需向/etc/securetty中追加pts/0等内容,执行命令如下:

    echo 'pts/0' >>/etc/securetty
    echo 'pts/1' >>/etc/securetty
    echo 'pts/2' >>/etc/securetty
    
    5.测试telnet能否登录

    telnet 192.168.100.15

    二、升级Openssh

    1.备份原ssh

    cp -r /etc/ssh /etc/ssh-bak-date +%Y%m%d``

    2.下载Openssh安装包

    本次使用升级为openssh-9.3p2版本
    所有版本安装包下载地址:https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/

    下载地址:
    cd /opt
    wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.3p2.tar.gz
    
    3.安装依赖包
    yum install -y gcc zlib zlib-devel openssl-devel
    
    
    4.编译安装
    cd /opt
    tar -zxvf openssh-9.3p2.tar.gz
    cd openssh-9.3p2
    ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-zlib --without-openssl-header-check --with-ssl-dir=/usr/local/ssl --with-privsep-path=/var/lib/sshd
    

    执行成功后,先卸载旧版本的openssh,然后安装新版本

    5.卸载旧版本openssh
    rpm -e --nodeps `rpm -qa | grep openssh`
    
    6.继续安装新版本包
    make -j 4
    make install
    

    安装完成后会提示这个

    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    Permissions 0640 for '/etc/ssh/ssh_host_rsa_key' are too open.
    It is required that your private key files are NOT accessible by others.
    This private key will be ignored.
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    Permissions 0640 for '/etc/ssh/ssh_host_ecdsa_key' are too open.
    It is required that your private key files are NOT accessible by others.
    This private key will be ignored.
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    Permissions 0640 for '/etc/ssh/ssh_host_ed25519_key' are too open.
    It is required that your private key files are NOT accessible by others.
    This private key will be ignored.
    sshd: no hostkeys available -- exiting.
    make: [check-config] 错误 1 (忽略)
    

    别紧张,这是对key文件的警告信息,提示目前的key文件权限为640,权限太高,修改为600即可

    chmod 600 /etc/ssh/ssh_host_rsa_key
    chmod 600 /etc/ssh/ssh_host_ecdsa_key
    chmod 600 /etc/ssh/ssh_host_ed25519_key
    
    7.配置新ssh服务
    # 复制启动文件到/etc/init.d/下并命名为sshd
    cp -p /usr/local/src/openssh-8.0p1/contrib/redhat/sshd.init /etc/init.d/sshd
    # 添加执行权限
    chmod +x /etc/init.d/sshd
    # 添加到开启自启服务中
    systemctl enable sshd
    /sbin/chkconfig sshd on
    # 允许root远程登录
    sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/g' /etc/ssh/sshd_config
    # 配置selinux服务
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config 
    sed -i 's/SELINUX=permissive/SELINUX=disabled/g' /etc/selinux/config 
    setenforce 0
    # 重启sshd服务
    systemctl restart sshd
    
    8.检查新版本是否正常升级
    # ssh -V
    OpenSSH_9.3p2, OpenSSL 1.0.2k-fips  26 Jan 2017
    

    三、关闭Telnet服务

    systemctl disable xinetd
    systemctl disable telnet.socket
    systemctl stop xinetd.service
    systemctl stop telnet.socket 
    yum remove telnet-server xinetd -y
    
  • 相关阅读:
    C++中如何使用通用字符名输入UNICODE字符
    C++之继承
    【Linux信号专题】三、未决信号集、阻塞信号集与信号集操作函数
    分类分析|KNN分类模型及其Python实现
    如何解决前端传递数据给后端时精度丢失问题
    使用git命令提交代码到gitee码云仓库
    Cloudflare Pages 搭建hexo
    java计算机毕业设计ssm信息科技知识交流学习平台
    重温C语言十五---C语言文件管理操作
    Python-pptx教程之一从零开始生成PPT文件
  • 原文地址:https://blog.csdn.net/weixin_42763067/article/details/139371573