linux的centos离线升级ssh版本

服务器版本 centos8,将ssh8.1升级至9.1

rpm资源包下载:升级ssh所需要的rpm资源包

1、升级所需要的shell命令,依次执行

ssh -V #查看升级前的ssh版本
rpm --version #查看rpm版本
# 如果rpm命令报错,执行下面命令修复
## 解决rpm命令报错的方法
vim /etc/profile
## 把下面一句追加在最后面
export LD_LIBRARY_PATH=/usr/lib64:$UNISONHOME/bin:$GSKIT_LIBPATH:$OPENSSL_LIBPATH:$LD_LIBRARY_PATH:.:$UNISONHOME/ITA/cpa/ita/lib:$UNISONHOME/CLI/bin
source /etc/profile #重新加载环境变量
rpm --version # 再次查看rpm版本号

## 然后升级ssh,将上面的对应版本的压缩包解压,tar xvf FileName.tar
## 我用的是OpenSSH_9.2p1_CentOS8_x86_64_rpm.tar
rpm -Uvh *.rpm
# 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
# 如果这里重启失败,执行\cp -rf /usr/local/openssh/sbin/sshd /usr/sbin/sshd 进行修复
# 再次重启并设置开机自启
systemctl restart sshd.service
systemctl enable sshd.service
# 查看ssh版本
ssh -V

服务器版本 centos8,将ssh8.1升级至9.2

升级ssh至9.2

1、备份配置

cp -r -a /etc/ssh/ /etc/ssh.bak/
cp -r -a /etc/pam.d/ /etc/pam.d.bak/

执行更新操作

unzip openssh-9.3p1.zip
rpm -Uvh openssh-.rpm (如果报libcrypto.so.1.1()(64bit) is needed by openssh-9.4p1-1.el7.x86_64 使用命令 rpm -Uvh openssh-.rpm --nodeps --force)

恢复sshd备份的配置

echo “PermitRootLogin yes” >> /etc/ssh/sshd_config
//注意检查UsePAM yes、PermitRootLogin yes、PasswordAuthentication yes,如果不是需要手动调整下,
//也可以用备份的/etc/ssh.bak/sshd_config替代

恢复pam.d/sshd备份的配置

vi /etc/pam.d/sshd 将原本的全删除,将下列内容拷贝进去: //可以使用备份的/etc/pam.d.bak/sshd覆盖,也可以直接把以下内容替换。(pam.d/sshd是解决密码正确但是ssh登录不进去的问题)

#%PAM-1.0
auth       substack     password-auth
auth       include      postlogin
account    required     pam_sepermit.so
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    optional     pam_motd.so
session    include      password-auth
session    include      postlogin

删除ssh密钥

rm -rf /etc/ssh/ssh_host_* //#如果发现dsa密钥缺了 ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key

重启sshd服务

查看状态

[root@localhost ~]# systemctl status sshd

重启sshd

[root@localhost ~]# systemctl restart sshd
重启失败,如果报错,可以看看是不是下面的:
1、启动失败,报缺少.so,重装ssl,重装后依旧报错:sshd -t查看原因,如果原因是 /etc/ssh/sshd_config line 118: Bad SSH2 cipher spec ‘aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,arcfour’.
2、输入命令:ssh -Q cipher,输出结果如下:
3des-cbc
aes128-cbc
aes192-cbc
aes256-cbc
aes128-ctr
aes192-ctr
aes256-ctr
aes128-gcm@openssh.com
aes256-gcm@openssh.com
chacha20-poly1305@openssh.com
3、复制结果,输入命令 vim /etc/ssh//sshd_config 找到ciphers ,将其注释,添加Ciphers ,然后将复制的结果用逗号分隔,添加在其后面
4、再次重启systemctl restart sshd,依旧失败后再次sshd -t查看原因,如果是 :/etc/ssh/sshd_config line 120: Bad SSH2 mac spec ‘hmac-sha1,hmac-ripemd160,umac-64@openssh.com’.
5、输入命令:ssh -Q mac,输出结果如下:
hmac-sha1,hmac-sha1-96,hmac-sha2-256,hmac-sha2-512,hmac-md5,hmac-md5-96,umac-64@openssh.com,umac-128@openssh.com,hmac-sha1-etm@openssh.com,hmac-sha1-96-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-md5-etm@openssh.com,hmac-md5-96-etm@openssh.com,umac-64-etm@openssh.com,umac-128-etm@openssh.com
6、复制结果,输入命令 vim /etc/ssh//sshd_config 找到Macs ,将其注释,添加Macs ,然后将复制的结果用逗号分隔,添加在其后面

再查看sshd状态

[root@localhost ~]# systemctl status sshd

原文链接:https://blog.csdn.net/enchanterzj/article/details/130462245

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值