centos7升级ssh 到高版本操作

      Linux系统  常用远程登录来管理运维机器。远程登录中最重要的服务就是ssh服务,一般低版本的ssh 可能会存在漏洞,导致非法黑客入侵提权,增加系统的不安全。因此要确保ssh 版本是修复漏洞后的稳定版本。

1. 首先查看系统的ssh版本信息

命令:ssh  -V 

OpenSSH_8.0p1, OpenSSL 1.1.1c FIPS  28 May 2019

这个版本不算太老,不过也建议升级到新版本的。

2. 可以先在测试环境进行,以防生产环境出现问题升级失败导致无法连接到主机就麻烦了。

升级准备工作: 

先升级ssl模块,在官网下载ssl版本和依赖的文件: 
#升级所需安装包源码包:
 openssh-8.1p1.tar.gz
 zlib-1.2.1.tar.gz
 openssl-1.1.1h.tar.gz
 # 安装包链接地址(可以先线下下载然后上传至服务器)
 http://www.zlib.net/zlib-1.2.11.tar.gz
 https://www.openssl.org/source/openssl-1.1.1g.tar.gz
 http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.1p1.tar.gz
 #备份之前版本的安装环境
 sudo cp -r /etc/ssh /etc/ssh_bak
 sudo cp /etc/init.d/sshd /etc/init.d/sshd_bak
 sudo cp /usr/sbin/sshd /usr/sbin/sshd_bak
 # 安装所需要的依赖
 yum install perl gcc gcc-c++  pam-devel  zlib zlib-devel -y
3. 解压编译安装
./config zlib-dynamic shared
make  && make install
4. 更新链接库路径
编辑/etc/ld.so.conf,添加/usr/local/lib64
5. 执行ldconfig -v使配置生效

6.编译openssh
安装依赖包   yum install  pam  pam-devel 
解压openssh 文件包
./configure --prefix=/usr --with-ssl-dir=/usr/local/lib64 --with-pam

make && make install
chmod 400 /etc/ssh/ssh_host_*
编辑/etc/ssh/sshd_config注释两个GSSAPI选项
#GSSAPIAuthentication yes
#GSSAPICleanupCredentials no

编辑/etc/ssh/sshd_config,在文件最后添加如下选项:
KexAlgorithms diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256

cp openssh-8.1p1/contrib/redhat/sshd.init /etc/init.d/sshd
rm /usr/lib/systemd/system/sshd.service

编辑/etc/init.d/sshd添加OPTIONS选项
OPTIONS="-f /etc/ssh/sshd_config "

启动sshd服务
systemctl daemon-reload  | systemctl start ssdh
查看服务的状态
systemctl status sshd




7. 查看升级后的版本

猜你喜欢

转载自blog.csdn.net/xingyue0422/article/details/110188485