Linux openssh 升级至openssh-8.5p1

12 篇文章 0 订阅
7 篇文章 0 订阅

缘起

时隔多日,客户服务器进行安全扫描,我则负责为服务器升级或者打上补丁。

软件包下载地址

下载地址列表:
http://www.openssh.com/portable.html#http
http://www.openssh.com/portable.html#ftp
http://www.openssh.com/portable.html#rsync

点击下载地址,如下,选择自己对应的版本
https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/

我需要下载的是8.5版本,下载地址:
https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.5p1.tar.gz

下载软件包

安装依赖包,通过yum安装命令:

yum install gcc zlib-devel openssl-devel pam-devel libselinux-devel zlib-devel openssl-devel -y 

离线安装命令,以下附教程地址(同一套):
gcc 安装教程地址: Linux 离线安装软件 gcc
zlib、openssl、pem 安装教程地址:Linux 离线安装软件 zlib、openssl、pam

执行命令下载编译:

wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.5p1.tar.gz
tar -zxvf openssh-8.5p1.tar.gz
cd openssh-8.5p1
#配置->此处若发生异常,查看文末解决方案
 ./configure   --prefix=/usr   --sysconfdir=/etc/ssh    --with-md5-passwords   --with-pam --with-zlib   --with-tcp-wrappers    --with-ssl-dir=/usr/local/ssl   --without-hardening
#编译
make && make install

编译以后出现如下提示,文件已存在,未覆盖,可以删除指定文件后重新安装,命令如下:
在这里插入图片描述

 rm -rf /usr/local/etc/ssh_config /usr/local/etc/sshd_config /usr/local/etc/moduli
 make && make install
#备份重要文件
mv /etc/pam.d/sshd.pam /etc/pam.d/sshd.pam_bak
mv /etc/init.d/sshd /etc/init.d/sshd_bak
#复制配置文件
cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
cp -a contrib/redhat/sshd.init  /etc/init.d/sshd
#设置权限
chmod u+x /etc/init.d/sshd

修改配置文件,命令:

vim /etc/ssh/sshd_config 

设置PermitRootLogin参数为yes,设置PasswordAuthenticationyes截图如下:
在这里插入图片描述
重启并设置开机启动,命令如下:

#重启服务
systemctl restart sshd
#设置开机启动
systemctl enable sshd
#也可以以下命令设置
chkconfig --add sshd
chkconfig sshd on

重启完毕,执行以下命令查看ssh版本,命令如下:

ssh -V

当显示以下结果表示升级成功,如图:
在这里插入图片描述

升级过程中出现的问题及解决方案

问题1:configure: error: PAM headers not found

解决方案

查看依赖包是否正确安装,若确认安装没问题,请重新安装 pam-devel,命令:

yum install gcc zlib-devel openssl-devel pam-devel libselinux-devel zlib-devel openssl-devel -y 

安装后重新从编译步骤 ./configure往下依次执行即可。

问题二:Job for sshd.service failed because a timeout was exceeded. See “systemctl status sshd.service” and “journalctl -xe” for details.

解决方案

在执行systemctl restart sshd时时间过长,等带一段时间之后,执行失败,可以通过systemctl status sshd.service命令查看具体错误原因,如下图:在这里插入图片描述
从图中可以看出是/etc/ssh/sshd_config中参数问题,我们编辑此文件,注释掉这两个参数,如下:

修改前内容:

GSSAPIAuthentication yes
GSSAPICleanupCredentials no
#GSSAPIStrictAcceptorCheck yes
#GSSAPIKeyExchange no
#GSSAPIEnablek5users no

修改后内容:

#GSSAPIAuthentication yes
#GSSAPICleanupCredentials no
#GSSAPIStrictAcceptorCheck yes
#GSSAPIKeyExchange no
#GSSAPIEnablek5users no

保存后重启服务systemctl restart sshd

问题三:重启服务失败且找不到具体原因

解决方案

建议卸载后重新安装,在各种方法都重试以后,发现都没效果,果断卸载,重新按照步骤来了一遍,安装成功。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冰夏之夜影

赠人玫瑰,手留余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值