Centos7下rpm升级OpenSSH到openssh-8.5p1版本

openssh-8.5p1版本分享

注意:如果机器做过安全基线整改,建议先自行备份/etc/pam.d/sshd文件,升级后,此文件会被覆盖,如果未修改过,按照文章后续的进行覆盖即可。亦请务必确定系统版本为:CentOS7。

下载:

wget https://cikeblog.com/s/openssh-8.5p1-1.el7.tar.gz
tar -zxvf openssh-8.5p1-1.el7.tar.gz

安装方法一:

rpm -Uvh *.rpm

安装方法二(此方法会自动处理依懒关系):

yum install ./*.rpm

部分机器使用方法二安装会提示依赖问题,可以使用以下方法:

yum update *.rpm

至此,升级完成,如果之前升级过的,下面的就不用看了,直接新开SSH终端连接即可。

因为OPENSSH升级后,/etc/ssh/sshd_config会还原至默认状态,我们需要进行相应配置:

cd /etc/ssh/
chmod 400 ssh_host_ecdsa_key ssh_host_ed25519_key ssh_host_rsa_key
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
echo "PasswordAuthentication yes"  >> /etc/ssh/sshd_config
systemctl restart sshd

注意:升级后重启SSH可能出现以下错误:

It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Unable to load host key "/etc/ssh/ssh_host_ed25519_key": bad permissions
Unable to load host key: /etc/ssh/ssh_host_ed25519_key
sshd: no hostkeys available -- exiting.
[FAILED]
sshd.service: control process exited, code=exited status=1
Failed to start SYSV: OpenSSH server daemon.
Unit sshd.service entered failed state.
sshd.service failed.

解决办法:

chmod 0600 /etc/ssh/ssh_host_ed25519_key
service sshd restart

即可解决。

注意,/etc/pam.d/sshd也文件会被覆盖,我们进行还原:
先清空:

>/etc/pam.d/sshd;

再还原:

echo '#%PAM-1.0
auth       required     pam_sepermit.so
auth       include      password-auth
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    optional     pam_keyinit.so force revoke
session    include      password-auth'>/etc/pam.d/sshd

至此,升级完成,先别关闭终端,直接新开一个终端,连接到服务器测试。

注意:如果新开终端连接的时,root密码报错,并且已经根据上面后续操作,那可能就是SElinux的问题,我们进行临时禁用:

setenforce 0

即可正常登录,然后修改/etc/selinux/config 文件:

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

进行永久禁用SElinux即可。

» 本文链接:Centos7下rpm升级OpenSSH到openssh-8.5p1版本
» 转载请注明来源:刺客博客
» 如果文章失效或者安装失败,请留言进行反馈。
评论 ( 15)
  1. avatar
    沙发
    lizi 2022-01-18 08:20

    能否分享下 您编译openssh的过程

  2. avatar
    板凳
    sxc 2021-12-21 07:20

    有没有离线安装的方法

  3. avatar
    地板
    alex 2021-12-01 09:18

    升级完后,看了下,那个openssl还是 OpenSSL 1.0.2k-fips,这个版本,不是最新版本

    • avatar
      回复
      刺猬 2021-12-01 09:21
      @alex openssh和openssl是两个东西,不要混淆。
  4. avatar
    4 楼
    lpaijl 2021-04-24 01:33

    楼主有centos8.3升级的openssh8.5p1的配套包吗?

    • avatar
      回复
      刺客 2021-04-24 01:46
      @lpaijl 按照上面教程即可。
    • avatar
      回复
      刺客 2021-04-24 01:52
      @lpaijl 不好意思看错了,centos8已经被废弃,博客不再更新,你自己进行编译openssh包即可。
  5. avatar
    5 楼
    watshtjymd 2021-04-23 02:32

    按照你的方法升了普通用户登录文件最大打开数变为1024了

    • avatar
      回复
      zlz 2021-04-23 02:49
      @watshtjymd 我与遇到这个问题了,又解决方法吗
      • avatar
        回复
        watshtjymd 2021-04-23 02:51
        @zlz 我这没,我是想来问这个问题的解决方案的
      • avatar
        回复
        watshtjym 2021-04-23 02:52
        @zlz 我这没,我是想来问这个问题的解决方案的
        • avatar
          回复
          zlz 2021-04-23 02:58
          @watshtjym 是不是跟这个文件有关系,但是没有备份 :cry: /etc/pam.d/sshd
          • avatar
            回复
            watshtjymd 2021-04-23 03:23
            @zlz 不知道,我只知道这个问题是升级后ssh限制了,试了好多方法都搞不定
  6. avatar
    6 楼
    zs1621 2021-04-22 05:18

    靠谱 验证ok

  7. avatar
    7 楼
    stellarwang 2021-04-14 08:00

    真赞,一下就升级上去了