升级openssh 9.6p1摘要

openssh漏洞层出不穷,除了命令注入漏洞(CVE-2020-15778)漏洞,其他的漏洞都可以通过升级新版本来解决。本篇是适用于redhat系列6.x和7.x版本(包括centos的6.x和7.x版本),8和9版本升级比较简单本篇不涉,如有需要可以留言交流。

本版本是openssh9.6p1 with openssl-1.1.1w,是在openssh9.3p2 with openssl-1.0.2k基础上安装,也可以直接升级到本版本(注意:直接升级需要修改备份几个文件分别是/etc/init.d/sshd;/etc/pam.d/sshd;/etc/ssh/sshd_config,请参照下面的叙述),因为从9.4p1开始以后的版本都是openssl1.1.1以后的版本,所以需要先升级openssl。

1、先安装所需的包perl-WWW-Curl
yum install perl-WWW-Curl
[root@bogon OpenSSH9.6p1]# yum install perl-WWW-Curl
没有源的下载文件后本地安装:
# yum localinstall perl-WWW-Curl-4.09-4.el6.x86_64.rpm
2、先备份openssl再按装openssl.1.1.1w包.
# cd /usr/bin
# mv openssl openssl.1.0.2k
ln -s openssl.1.0.2k openssl
# yum localinstall openssl-1.1.1w  试一下看还少不少别的包,没少包的话提示与旧版本冲突。
[root@bogon OpenSSH9.6p1]# rpm -ivh openssl-1.1.1w-1.el7.x86_64.rpm --nodeps --force
修改两个连接文件:不是必需的,如果修改了回退时还要还原:
[root@localhost lib64]# cd /usr/lib64
[root@localhost lib64]# ln -sf libssl.so.1.1 libssl.so
[root@localhost lib64]# ln -sf libcrypto.so.1.1 libcrypto.so
# openssl version -a 查看版本信息
3、备份配置文件,再安装升级包rpm -Uvh openssh-9.6p1-el7.rpm openssh-server openssh-client
# cd /etc/init.d
cp sshd sshd.bak20240131 #如果没有该文件,则不用备份,安装后就有了,然后跟据后续说明修改就可以了。
cd ../pam.d
cp sshd sshd.bak20240131
cd ../ssh
cp sshd_config sshd_config.bak20240131
安装ssh包:
[root@bogon OpenSSH9.6p1]# yum localinstall openssh-9.6p1-1.el7.x86_64.rpm openssh-server-9.6p1-1.el7.x86_64.rpm openssh-clients-9.6p1-1.el7.x86_64.rpm
输y确认。
如果以前没有升级过openssh 需做如下配置修改:
4修改/etc/init.d/sshd
vi /etc/init.d/sshd
在 ‘$SSHD $OPTIONS && success || failure’
这一行上面加上一行 ‘OPTIONS="-f /etc/ssh/sshd_config"’不要单引号
保存退出

5修改 /etc/ssh/sshd_config
vi /etc/ssh/sshd_config
如:以下配置,有的修改,没有的增加。
UsePAM yes
UseDNS no
PermitRootLogin yes
PubkeyAuthentication yes
PasswordAuthentication yes
X11Forwarding yes
X11UseLocalHost no
XAuthLocation /usr/bin/xauth
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com

#MACs?hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-sha1-96,hmac-md5-96
6修改几个文件的权限:/etc/ssh目录下的

#cd /etc/ssh
#chmod 0600 ssh_host_rsa_key ssh_host_ecdsa_key ssh_host_ed25519_key
7修改 /etc/pam.d/sshd 文件,将备份文件还原也行
#%PAM-1.0
auth       required     pam_sepermit.so
auth       substack     password-auth
auth       include      postlogin
# Used with polkit to reauthorize users in remote sessions
-auth      optional     pam_reauthorize.so prepare
account    required     pam_nologin.so
account    include      password-auth
password   include      password-auth
# pam_selinux.so close should be the first session rule
session    required     pam_selinux.so close
session    required     pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session    required     pam_selinux.so open env_params
session    required     pam_namespace.so
session    optional     pam_keyinit.so force revoke
session    include      password-auth
session    include      postlogin
# Used with polkit to reauthorize users in remote sessions
-session   optional     pam_reauthorize.so prepare
8重启服务
# systemctl daemon-reload
# systemctl restart sshd.service
9查看状态是否正常
# systemctl status sshd.service
10打开另一个窗口进行登陆试验
ssh -V 查看版本信息,如果有 without openssl信息则安装包是有问题的。因为openssh9.6原码默认不配置openssl所以有的人编译出来的包不含openssl,这样就不能免密使用证书登陆。
使用免密证书登录方法:
cd /yourusernamehome/.ssh
如:cd /root/.ssh
vi authorized_keys
将你本地生成的public_key的内容贴进去保存。重新连接时就不用输密码了。
注意:
重启服务失败的话考虑回退:先恢复openssl.1.0.2k,然后yum downgrade rpm9.3p2 的包。
cd /usr/bin
ln -sf openssl.1.0.2k openssl #强制修改链接文件
如果修改了/usr/lib64/libssl.so和 libcrypto.so也将之还原到1.0.2k版本。
cd到9.3p2包的目录:
yum downgrade openssh-9.3p2-1.el7.x86_64.rpm openssh-server-9.3p2-1.el7.x86_64.rpm openssh-clients-9.3p2-1.el7.x86_64.rpm
先在虚拟机上测试没问题后,再在生产机上修改。

https://download.csdn.net/download/alalaal/89556513下载包,内含openssh9.3p2和9.6p1安装包。

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值