linux升级openssh8.2,openssh7更换升级位8.2版本过程

Openssh7.4p1更换为8.2

(过程是用CRT自动记录的,原始记录请到网盘下载链接: https://pan.baidu.com/s/1ons6A_IynGp29eXtjSvZTw 提取码: 9ihe请到这里下载远程到服务器的整个过程记录)

写在前面:  如果编译升级失败,就yum install -y openssh*安装回7.4p1

Openssh下载地址https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/ 找自己需要的版本

本文参考https://www.jianshu.com/p/e75300b7e8be进行。仅记录本人本次过程记录,如果不行,请勿喷(因为是事后整理的)

环境声明:

我当前系统版本

1452ebe05572845450ac757a73352db0.png

首先更新yum源:

首先备份(注意当前登录用户权限,我是切换为了root)

/etc/yum.repos.d/CentOS-Base.repo

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

下载源,到如下链接下载自己当前系统的,下载到/etc/yum.repos.d/下面

68cf7812e4e79a4a41f1ff9dbeb7d2f1.png

执行yum clean all清理缓存

执行yum makecache

安装运行库(具体视自己情况决定做不做):

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

上面yum里的openssl会把openssl安装到如下版本

2734d84cba325d30bc6e62b5328ad220.png

如果你是ssh到机器进行操作的,无法本地直接操作,那么需要安装telnet,以防止ssh卸载时候不能远程到服务器

yum install  telnet-server

yum install xinetd

使用telnet看能否远程到服务器,如果不能就 vi /etc/securetty 在尾部增加pts/0 pts/1 pts/2

配置telnet开机启动

systemctl enable xinetd

systemctl enable telnet.socket

启动telnet

systemctl start telnet.socket

systemctl start xinetd

用telnet连接到服务器(注意切换为root)

停止ssh服务 卸载ssh(rpm -e --nodeps $(rpm -qa | grep openssh)

bfee338efbabee9a6ddee49eed58f8e7.png

注意,我30号参考百度的文档(天下文章一大抄,千篇一律)没有升级成功,最后使用yum install -y openssh*安装回7.4p1

查找sshd.pid find / -name ’sshd.pid’ 记录下该文件位置,注意英文的’

76b68fadf3cd080910f78db074ed50da.png

删除或者备份/etc/ssh/下的文件,注意如果备份的话该路径下不要有原来文件名

下载openssh8.2,我是下载到了home下的当前登录的用户文件夹,下面截图是解压后的截图(注意切换为root)

’’

b23075828aa54cbc160b1e58bfc268d1.png

解压 tar –zxvf openssh-8.2p1.tar.gz

有的文章说要chown -R root.root ./ openssh-8.2p1我的没有做这个。

进入解压解压文件夹下 cd openssh-8.2p1

编译安装

./configure --prefix=/usr/ --sysconfdir=/etc/ssh/ --with-ssl-dir=/usr/local/ssl --with-md5-passwords --mandir=/usr/share/man/

make && make install

参数说明

--prefix 安装目录  --sysconfdir 配置文件目录 --with-ssl-dir 指定 OpenSSL 的安装目录

--with-privsep-path 非特权用户的chroot目录 --with-privsep-user=sshd 指定非特权用户为sshd  --with-zlib 指定zlib库的安装目录 --with-md5-passwords 支持读取经过MD5加密的口令 --with-ssl-engine 启用OpenSSL的ENGINE支持

复制启动文件到/etc/init.d/sshd

cp -a /home/zabbix/openssh-8.2p1/contrib/redhat/sshd.init /etc/init.d/sshd

960ce7b802e97d01a2f31d7ffee38d65.png

然后修改启动文件,vi /etc/init.d/sshd 找到PID_FILE注释掉,改为如下截图(就是开始查找sshd.pid的路径)

fcf9573d83388d84aea656cff84f3b67.png

设置开机启动

62b59491a0a13846e5bc14639e86a503.png

参照https://www.jianshu.com/p/e75300b7e8be该文档,引用如下部分,编辑启动服务如下截图

61b1090682f3c6c610e4e4af5a31904d.png

而实际上通过find / -name 'sshd.service',找到sshd.service的位置如下截图,

fd20836bd873d5c91febb11225d003da.png

然后在/usr/lib/systemd/system/下搜索看到如下截图文件(没有sshd.service,而有的是sssd开头的文件)

98387a4244430746d8dd304e966fbea5.png

我们查看sssd.service

这部分的修改有点稀里糊涂,大家不要参考了,可以参照https://www.jianshu.com/p/e75300b7e8be该文档。

做完后,ssh版本如下图

2f0fb1172c8fc864fe9acf931f1834be.png

4aae651e012d12e45d1caf6bed69bdf3.png

CRT连接的时候报错了,处理过程是,删除原来的连接,新建连接,填入IP地址等然后回车登录提示报错,在连接上右击选择最后一个 Properties ----Connection----SSH2-----Authentication里有个Password,选中Password 点击右边的Properties按钮,在跳出来的窗口输入两次密码确认。如果登录还报错直接点Skip即可,如下图

6629b790ceb68c265ce87c9658268aa6.png

a3505818b4e55dca514019e67d611025.png

我这点击Skip后就直接进去了。

最后附上本次的原始操作记录链接:链接: https://pan.baidu.com/s/1ons6A_IynGp29eXtjSvZTw 提取码: 9ihe请到这里下载远程到服务器的整个过程记录,使用的crt自动记录生成的,每个步骤都记录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值