SSH升级(linux,centOS7x以上,ssh升级至8.6p1版本)

linux系统升级OpenSSH,CentOS7x以上,ssh升级至8.6p1版本

1.如果linux系统没有别的后管平台能快照备份,则需要先开启telnet,防止ssh崩了 无法登陆系统,参考资料https://www.cnblogs.com/wangyang0210/p/12552040.html。开启telnet教程如下:(如果有总管理后台,比如腾讯云、阿里云、华为云等,则可以忽略这步)

安装启动并配置telnet服务 | 防止ssh升级失败无法访问服务器

yum install -y telnet-server* telnet xinetd
systemctl enable xinetd.service
systemctl enable telnet.socket
systemctl start telnet.socket
systemctl start xinetd.service
echo 'pts/0' >>/etc/securetty
echo 'pts/1' >>/etc/securetty
echo 'pts/2' >>/etc/securetty

注意:先查看系统的selinux是否关闭:

/usr/sbin/sestatus -v 关闭:disabled 开启:enable getenforce 关闭: Permissive
开启:Enforcing 临时关闭(服务器重启失效):setenforce 0
配置文件关闭(需要重启服务器):/etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled

2.查看当前版本信息

ssh -V

3.开始下载升级ssh相应的依赖包

升级ssh

yum install  -y gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel  pam-devel
yum install  -y pam* zlib*

4.下载openSSH对应版本的tar包,可以前往官网自行下载,路径如下:
https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/
注:本文以openssh-8.6p1.tar.gz为安装案例。
下载后上传至目标服务器,下文以上传在/home/openssh目录为例。

5.备份系统现有ssh相关配置

mv /etc/ssh /etc/ssh_bak
cp /etc/pam.d/system-auth-ac /etc/pam.d/system-auth-ac.bak
cp /etc/pam.d/sshd /etc/pam.d/sshd.bak

6.卸载老版本ssh

rpm -qa | grep openssh

在这里插入图片描述

rpm -e 上面命令搜索出结果内容 --nodeps  
例如:rpm -e openssh-7.4p1-11.e17.x86_64 --nodeps

7.安装/编译
进入/home/openssh目录,解压下载后的tar包并进入目录,
修改文件权限:

chown -R root:root 文件目录

然后执行configure命令

tar zxf openssh-8.6p1.tar.gz  &&  cd openssh-8.6p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords --with-tcp-wrappers 

再执行编译命令,make && make install

8.配置ssh相关配置文件
这里可以找到之前备份的ssh_bak里的配置文件,将ssh_config 内的配置信息复制到新安装的ssh_config文件内。
另外将sshd_config配置文件的信息也复制进新安装的sshd_config文件中,以下列出要注意的细节:
a)配置文件中需要增加Ciphers、MACs、KexAlgorithms相关配置,解决xshell等连接工具连接问题

Ciphers 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

MACs 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

KexAlgorithms diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group14-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,curve25519-sha256,curve25519-sha256@libssh.org,sntrup761x25519-sha512@openssh.com

Ciphers后面的内容需要执行 ssh -Q Ciphers 来查看,并用逗号组装起来;
MACs 后面的内容需要执行 ssh -Q mac来查看,并用逗号组装起来;
KexAlgorithms 后面的内容需要执行 ssh -Q kex来查看,并用逗号组装起来;

9.设置启动项,进入ssh安装的目录,执行以下命令:
配置服务启动项

cp contrib/redhat/sshd.init /etc/init.d/sshd
chkconfig --add sshd
chkconfig sshd on
chkconfig --list sshd

10.启动sshd 服务

systemctl restart sshd.service 或者 service sshd restart
systemctl status sshd.service 或者 service sshd status

到这里ssh的升级就结束了,网上很多文章都提到了selinux的问题,这里安装的系统因为selinux已经关闭,故没有出现。

参考资料:
依赖包安装参考:
https://www.cnblogs.com/wangyang0210/p/12552040.html
远程连接账号密码无法输入参考:
https://blog.csdn.net/ance779/article/details/95031345
http://www.voidcn.com/article/p-zxirrqlt-buo.html
Sshd_config 配置参数详解参考:
https://ftp.openssl.org/source/
以及备份信息等参考文件夹中提供的ssh7.x版本升级说明文档

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值