OpenSSH升级

OpenSSH是SSH协议的免费开源实现,经常会曝出安全漏洞,由于CentOS7自带的OpenSSH版本(OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017)太低,有必要进行新服务器的OpenSSH版本升级。升级OpenSSH升级前首先需要升级OpenSSL。
本升级教程仅针对CentOS7

预处理防止升级过程中连接中断
  1. 安装telnet服务

    yum -y install telnet-server
    
  2. 启动telnet

    systemctl start telnet.socket
    
  3. 防火墙开放tcp/23端口

     firewall-cmd --permanent --add-port=23/tcp
     firewall-cmd --reload
    
  4. 默认情况下,linux不允许root用户以telnet方式登录,移除securetty文件

    mv /etc/securetty{,.bak}
    
  5. 关闭selinux

    setenforce 0
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
    
  6. 使用windows连接linux

    命令行使用telnet [服务器IP]
    

    #由于telnet是明文传输,不安全,所以升级完成后,必须停止该服务

同时打开两个ssh窗口,并在其中的一个窗口中运行top命令,防止升级过程中会话中断无法连接服务器
  1. 停掉sshd服务

    systemctl stop sshd
    
  2. 卸载所有openssh服务

     yum -y remove openssh
    
  3. 安装相关依赖

     yum -y install pam pam-devel zlib zlib-devel openssl-devel
    
  4. 备份原ssh配置

    mv /etc/ssh{,.bak}
    
安装最新的OpenSSL(1.1.1g)
  1. 下载

    cd /opt
    wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz --no-check-certificat
    
  2. 安装

     tar -xzvf openssl-1.1.1g.tar.gz
     cd openssl-1.1.1g
     ./config --prefix=/usr/ --openssldir=/usr/shared
     make && make install
    
  3. 查看openssl版本

    openssl version
    
安装最新的OpenSSH(9.0p1)
  1. 下载

    cd /opt/
    wget http://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.0p1.tar.gz
    
  2. 安装

如果无法构建,请下载gcc gcc-c++
yum -y install gcc gcc-c+

	tar -zxvf openssh-9.0p1.tar.gz
	cd openssh-9.0p1
	./configure --with-zlib --with-ssl-dir --with-pam --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc/ssh
	make && make install
	cp contrib/redhat/sshd.init /etc/init.d/sshd
  1. 查看ssh版本

    ssh -V
    

    修改配置文件,不限制root登录

    a. 将sshd添加到系统服务

    chkconfig --add sshd
    

    b. 启动ssh

    systemctl start sshd
    

    c. 修改sshd配置文件

    vim /etc/ssh/sshd_config	
    PermitRootLogin yes					#允许root使用密码登录
    PasswordAuthentication yes 		#允许使用密码登录
    
  2. 重启sshd服务,新开窗口测试

     systemctl restart sshd
    
  3. 给/var/run/sshd.pid授权

    chmod 777 /var/run/sshd.pid
    
  4. 关闭telnet服务

     systemctl stop telnet.socket
    
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值