openssh升级
openssh6.6升级到openssh8.3
因为某些不可描述的原因,公司需要给openssh升级,再查看服务器的openssh版本时,发现某个服务器居然是6.6的,些许头疼
由于openssh的一个漏洞,不得不对openssh进行升级,虽然升级之后还有一些别的问题… 无伤大雅
检查一下环境:
[root@192.168.30.1]# ssh -V
OpenSSH_6.6p1, OpenSSL 1.0.2k
RPM安装方法:
1.提前准备好8.3rpm包
https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/ 2.查看当前系统版本
[root@192.168.30.1 ]# rpm -qa | grep openssh
openssh-server-6.6p1-1.el7.centos.x86_64
openssh-6.6p1-1.el7.centos.x86_64
openssh-clients-6.6p1-1.el7.centos.x86_64
安装8.3版本
- [root@192.168.30.1 ]# cd /opt/
[root@192.168.30.1 ]# tar -xf openssh-8.3p1.tgz
[root@192.168.30.1 ]# yum localinstall *.rpm
[root@192.168.30.1 ]# rpm -qa | grep openssh
openssh-server-8.3p1-1.el7.centos.x86_64
openssh-8.3p1-1.el7.centos.x86_64
openssh-clients-8.3p1-1.el7.centos.x86_64
openssh-debuginfo-8.3p1-1.el7.centos.x86_64
openssh-askpass-gnome-8.3p1-1.el7.centos.x86_64
openssh-askpass-8.3p1-1.el7.centos.x86_64
[root@192.168.30.1 ]# chmod 400 /etc/ssh/ssh_*_key
[root@192.168.30.1 ]# vim /etc/ssh/sshd.config
##去掉开头注释,并改为yes
PermitRootLogin yes
PasswordAuthentication yes
UsePAM yes
在这里修改完后其实已经可以重启sshd服务了,但是当我重启服务时,并不好用,服务起不来,我去查看了一下sshd的启动文件,发现了一点小问题,$OPTIONS 全文只有这一个,并没有指定OPTIONS是什么,翻阅资料后,加入一行OPTIONS
OPTIONS="-f /etc/ssh/sshd_config"
即:
UsePAM所带来的问题
由于我们开启了UsePAM,所以需要去查看一下 /etc/pam.d/sshd 这个文件
这个文件在升级时,会被覆盖掉,建议提前备份一下。
尝试过关闭UsePAM,发现并不太行,关掉之后不让ssh登录
升级之后未作更改时长成这样:
[root@192.168.30.1 ]#vim /etc/pam.d/sshd
对比一下以前的版本就会发现这个配置文件此时是少了很多东西的
(这里提供一个可以使用的配置文件,先清空或者备份再还原)
[root@192.168.30.1 ]# cat /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
[root@192.168.30.1 ]# systemctl restart sshd
好吧,确实少的东西有点多,我们还原这个文件。
修改完毕之后注意再次检查一下/etc/ssh/sshd.config这个配置文件
确认UsePAM yes 是开启状态至此升级完成,
先别着急关闭终端,新开一个终端测试,测试ssh连接到修改后的终端是否可用。
提个建议 ,在查看别的博客时发现有受到selinux影响的 建议关闭selinux永久关闭:
sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/config
临时关闭:
setenforce 0尝试了升到8.4,发现这些BUG都已经修复了,建议升级到8.4版本,至于8.4版本有什么BUG就不清楚了,但是8.4版本SCP注入漏洞的问题依然没有修复