Linux服务器漏洞修复—OpenSSH升级到9.8(CentOS 7.6)

打印 上一主题 下一主题

主题 1722|帖子 1722|积分 5166

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x



离线安装包提取地点

链接:百度网盘 请输入提取码 
提取码:uaio
一:检察版本和下载

1.1所需安装包目录



1.2:检察系统openssh包

  1. rpm -qa|grep openssh
复制代码
1.3:检察版本

  1. ssh  -V
复制代码
1.4:下载地点

Index of /pub/OpenBSD/OpenSSH/portable/


二:安装telnet

建议安装,如果你升级到一半,VPN突然掉了,大概网络断开,你就连不上xshell了,如果安装了telnet后,就是网络和VPN断开,也可以举行下一步操作
2.1:卸载telnet可不操作

为了克制在生产上安装openSSH失败,安装telnet
检查telnet是否安装
  1. rpm -qa | grep telnet
复制代码
没有安装,如果安装,请先卸载后重新安装
比方:
关闭telnet服务
  1. systemctl disable xinetd.service
  2. systemctl stop xinetd.service
  3. systemctl disable telnet.socket
  4. systemctl stop telnet.socket
复制代码
执行卸载
  1. rpm -e --nodeps telnet-0.17-47.el6.x86_64
  2. rpm -e --nodeps telnet-server-0.17-64.el7.x86_64
复制代码
2.2:上传安装包

同一上传路径 /home/telnet
2.3:安装

留意: 必要先安装xinetd,然后安装telnet客户端,再安装telnet服务端,否则可能会报错
  1. cd  /home/telnet
  2. rpm -ivh xinetd-2.3.14-38.el6.x86_64.rpm
  3. rpm -ivh telnet-0.17-47.el6.x86_64.rpm
  4. rpm -ivh telnet-server-0.17-64.el7.x86_64.rpm
复制代码
2.4:启动服务

  1. systemctl start telnet.socket
  2. systemctl start xinetd
复制代码
2.5:设置开机自启

  1. systemctl enable telnet.socket
  2. systemctl enable xinetd.service
复制代码
2.6:检察telnet服务是否启动

  1. netstat -antupl | grep 23
  2. cat /etc/services | grep -a 'telnet'
复制代码
2.7:root用户登录测试

开放root用户的权限,编辑以下文件.
  1. vim /etc/pam.d/remote
复制代码
注释掉这一行
#auth       required     pam_securetty.so

然后关闭centos7防火墙 
停止firewalld、关闭firewalld开机自启
  1. systemctl stop firewalld.service
  2. systemctl disable firewalld.service
复制代码

三:编译安装gcc

3.1:检察是否安装了gcc

  1. gcc -v
复制代码

表现必要安装gcc
3.2:强制安装

  1. cd /home/openSSH/gcc/
  2. rpm -ivh *.rpm --nodeps --force
复制代码

 3.3:检察是否安装成功

  1. gcc -v
复制代码

四:编译安装(升级openSSL)

4.1:安装devel



  • 检察ssl版本号
  1. openssl version
复制代码




  • 安装devel文件夹内里必要组件
  1. cd /home/openSSH/devel/
  2. rpm -ivh *.rpm --nodeps --force
复制代码
4.2:解压安装(openssl-3.3.1)

本人升级过程中,差别服务器碰到情况不一,可能有的系统安装3.3.1会报错,建议安装1.1.1版本


  • 解压
  1. cd /home/openSSH
  2. tar -zxvf openssl-3.3.1.tar.gz -C ./
  3. cd /home/openSSH/openssl-openssl-3.3.1
  4. ./config shared && make && make install
复制代码


  • 检测是否编译精确
  1. echo $?
复制代码


  • 检察下最后的make install是否有报错,0表现没有问题



  •  备份后做软链接
先举行备份、添加软链接
  1. ##根据需要安装的是3.3.1版本
  2. cd /home/openSSH/openssl-openssl-3.3.1
  3. ll /usr/bin/openssl
  4. mv /usr/bin/openssl /usr/bin/openssl_bak
  5. ln -s /usr/local/bin/openssl /usr/bin/openssl
  6. ll /usr/bin/openssl
复制代码

加载新配置
  1. cd /home/openSSH/openssl-openssl-3.3.1
  2. ##如果之前升级过openssl,则下面操作建议用vim打开删除之前添加的配置
  3. echo "/usr/local/lib64" >> /etc/ld.so.conf
  4. /sbin/ldconfig
复制代码
4.3:解压安装(openssl-1.1.1v)

留意:如果执行./config shared报错提示perl,则建议直接将openssl版本降至最低要求1.1.1
   openssl-openssl-3.3.1]# ./config shared
Can't locate Params/Check.pm in @INC (@INC contains: /home/openSSH/openssl-openssl-3.3.1/util/perl /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 . /home/openSSH/openssl-openssl-3.3.1/external/perl/Text-Template-1.56/lib) at ...
  1. cd /home/openSSH/
  2. tar -zxvf openssl-OpenSSL_1_1_1v.tar.gz -C ./
  3. cd openssl-OpenSSL_1_1_1v/
  4. ./config --prefix=/opt/openssl
  5. make
  6. make install
复制代码
  1. echo $?
复制代码

添加软链接
  1. ll /usr/bin/openssl
  2. mv /usr/bin/openssl /usr/bin/openssl_bak
  3. ln -s /opt/openssl/bin/openssl /usr/bin/openssl
复制代码
 如果在建立映射文件过程中出现文件存在,直接删除、覆盖即可

如果之前升级过openssl,则下面操作建议用vim打开删除之前添加的配置 
  1. echo "/opt/openssl/lib" >> /etc/ld.so.conf
  2. ldconfig --verbose
复制代码


4.4:验证

1:验证
  1. openssl version
复制代码


五:编译安装openSSH

5.1:解压、编译

  1. cd /home/openSSH/
  2. tar -zxvf openssh-9.8p1.tar.gz -C ./
  3. cd ./openssh-9.8p1/
复制代码
安装ssl-1.1.1版本的 
  1. ./configure --prefix=/usr/ --sysconfdir=/etc/ssh --with-openssl-includes=/opt/openssl/include/openssl --with-ssl-dir=/opt/openssl   --with-zlib --with-md5-passwords --with-pam && make && make install
复制代码
安装ssl-3.3.1版本的(如果编译报错,"--with-ssl-dir"路径参数必要微调)
  1. ./configure --prefix=/usr/ --sysconfdir=/etc/ssh --with-openssl-includes=/usr/local/include/openssl --with-ssl-dir=/usr/local/ssl   --with-zlib --with-md5-passwords --with-pam && make && make install
复制代码
编译过程中可能会出现报错,基本是ssl头文件路径配置问题
   修改路径为:
--with-openssl-includes=/opt/openssl/include/openssl
  
  大概添加" --without-openssl-header-check"
  ./configure --without-openssl-header-check --prefix=/usr/ --sysconfdir=/etc/ssh --with-openssl-includes=/opt/openssl/include/openssl --with-ssl-dir=/opt/openssl   --with-zlib --with-md5-passwords --with-pam && make && make install
   


 检察是否安装成功
  1. echo $?
复制代码

授予权限(如果不授权,会启动ssh失败)##授予文件可写的权限
  1. chmod 600 /etc/ssh/ssh_host_rsa_key
  2. chmod 600 /etc/ssh/ssh_host_ecdsa_key
  3. chmod 600 /etc/ssh/ssh_host_ed25519_key
复制代码
授予权限后,再次编译安装

此处必要配置sshd_config,见下文

六:编译安装openSSH和配置

6.1:配置root用户登录

  1. vim /etc/ssh/sshd_config
复制代码
取消注释#PermitRootLogin yes,给root登录放行


6.2:开机自启,服务启动

下面的文件根据启动必要看是否拷贝,如果启动报sshd:未识别的服务,就必要拷贝下列文件
1:拷贝目录
  1. cd /home/openSSH/openssh-9.8p1/
  2. cp -a contrib/redhat/sshd.init /etc/init.d/sshd
  3. cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
  4. chmod +x /etc/init.d/sshd
复制代码
把原先的systemd管理的sshd文件删除大概移走大概删除,不移走的话影响我们重启sshd服务(如果没有就算了)
  1. mv /usr/lib/systemd/system/sshd.service /home/
复制代码
2:开机自启
  1. chkconfig sshd on
复制代码
3:加入系统服务
  1. chkconfig --add sshd
  2. systemctl enable sshd
复制代码


七:启动服务测试

7.1:启停服务,检察端口

1:停止ssh服务
  1. /etc/init.d/sshd stop
复制代码
2:检察端口
  1. netstat -lntp
复制代码
3:运行 sudo /usr/sbin/sshd -t -f /etc/ssh/sshd_config 检查配置是否精确,如果没有错误提示,就可以正常启动 SSH 服务了
  1. sudo /usr/sbin/sshd -t -f /etc/ssh/sshd_config
复制代码
提示哪个参数不支持,就把该参数注释掉

4:启动ssh服务
  1. /etc/init.d/sshd start
复制代码
5:再次检察端口是否开启
  1. netstat -lntp
复制代码
6:重启ssh服务
  1. /etc/init.d/sshd restart
复制代码


7.2:检察版本

  1. ssh -V
复制代码


7.3:恢复防火墙配置,重启系统

开启firewalld、开启firewalld开机自启
  1. systemctl start firewalld.service
  2. systemctl enable firewalld.service
复制代码
重启系统 
  1. reboot
复制代码
重启后再连接,验证是否升级成功

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

郭卫东

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表