Linux 升级Openssh版本(详细可用)

前言:服务器漏洞,需要升级openssh版本到7.8,然后就开始百度,网上各种版本各种copy,来回折腾的我不轻,最后升级完成,所以记录一下自己的升级成功的步骤,以防以后使用。

文章目录

    • 一、下载openssh
    • 二、解压压缩包
    • 三、删除原有的ssh相关文件
    • 四、安装编译新的ssh
    • 五、查看Openssh版本
    • 六、openSSH升级后无法远程问题解决
    • 七、openSSH升级后root(默认账户)无法远程登录问题解决(Access denied)

一、下载openssh

  1. 直接通过ssh连接目标主机进行下载(建议将压缩包下载到 /opt 目录下):
[root@sd-vm-0001252 opt]# wget wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.8p1.tar.gz

如果在执行wget后指令提示 command not found,是因为目标机上没有安装wget指令;

wget指令安装

yum -y install wget

安装成功提示:
Linux 升级Openssh版本(详细可用)_第1张图片

  1. 或者是直接在windows上下载openssh再上传到目标主机上:
    下载地址:http://www.openssh.com/releasenotes.html
    Linux 升级Openssh版本(详细可用)_第2张图片
  2. 下载完成后:
    在这里插入图片描述

二、解压压缩包

tar –xvf openssh-7.8p1.tar.gz

解压完成拿到压缩包:
在这里插入图片描述

三、删除原有的ssh相关文件

  1. 先卸载openssh服务,注意!注意!注意!卸载完成服务器ssh服务就会停掉,此时客户端连接的不能断开,在ssh没安装好之前也不可重启ssh服务和服务器,否则断开之后将无法进行远程连接
 yum remove openssh –y
  1. 手动删除原有ssh相关文件
rm -rf /etc/ssh/*

四、安装编译新的ssh

  1. 进入到自己解压好的ssh目录下(根据自己实际情况,每个人解压的目录可能不一样,这里解压后的目录是/opt/openssh-7.8p1/):
cd /opt/openssh-7.8p1/
  1. 安装编译:
./configure --prefix=/usr/ --sysconfdir=/etc/ssh  --with-openssl-includes=/usr/local/ssl/include --with-ssl-dir=/usr/local/ssl   --with-zlib   --with-md5-passwords   --with-pam && make && make install

注意:如果在安装编译过程中断,且提示:configure: error: PAM headers not found,就需要先手动安装一下PAM

Linux 升级Openssh版本(详细可用)_第3张图片
手动安装PAM:

yum -y install pam-devel

安装完成PAM
Linux 升级Openssh版本(详细可用)_第4张图片
Openssh安装完成图示:
Linux 升级Openssh版本(详细可用)_第5张图片
Openssh安装完成后在/openssh-7.8p1目录下执行如下命令:

[root@sd-vm-0001252 openssh-7.8p1] cp -a contrib/redhat/sshd.init /etc/init.d/sshd
[root@sd-vm-0001252 openssh-7.8p1] cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
[root@sd-vm-0001252 openssh-7.8p1] chmod +x /etc/init.d/sshd
[root@sd-vm-0001252 openssh-7.8p1] chkconfig --add sshd
[root@sd-vm-0001252 openssh-7.8p1] chkconfig sshd on
[root@sd-vm-0001252 openssh-7.8p1] service sshd restart

五、查看Openssh版本

ssh -V

在这里插入图片描述

六、openSSH升级后无法远程问题解决

进入到目录 /etc/ssh/sshd_config 将 PasswordAuthentication yes 注释打开,启用公钥身份验证;

vi /etc/ssh/sshd_config
  • 图示:
    Linux 升级Openssh版本(详细可用)_第6张图片

然后重启ssh服务:

service sshd restart

或者

/etc/init.d/sshd restart

七、openSSH升级后root(默认账户)无法远程登录问题解决(Access denied)

root(默认账户)一般情况下是不允许直接通过远程进行密码登录访问的(测试时安全扫描会有高危漏洞产生),所以默认情况下是禁止的,如果有需要的话,可以手动开启(不建议开启);个人建议如果需要使用到root用户,可以使用普通账号先连接服务器,然后su命令切换到root用户进行操作。

具体操作步骤:

修改SSH服务配置文件sshd_config来解决这个问题。文件路径为: /etc/ssh/sshd_config

vi /etc/ssh/sshd_config
  • 图示:
    Linux 升级Openssh版本(详细可用)_第7张图片

  • 如果觉得对你有帮助,就顺手给个赞吧。感谢!

你可能感兴趣的:(Linux,linux,centos,ssh)