CentOs升级Openssh7.4到8.2

操作系统版本和Openssh版本

查看操作系统版本:

[test@test ssh]$ cat /etc/redhat-release

CentOS Linux release 7.4.1708 (Core)

 查看Openssh版本:

[test@test ~]$ ssh -V

OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017

下载Openssh安装包,进行安装

OpenSSH安装包下载地址:http://ftp.jaist.ac.jp/pub/OpenBSD/OpenSSH/portable/

我这里下载的8.2版本:

[test@test ~]$ wget http://ftp.jaist.ac.jp/pub/OpenBSD/OpenSSH/portable/openssh-8.2p1.tar.gz

--2020-09-27 16:25:11--  http://ftp.jaist.ac.jp/pub/OpenBSD/OpenSSH/portable/openssh-8.2p1.tar.gz

正在解析主机 ftp.jaist.ac.jp (ftp.jaist.ac.jp)... 150.65.7.130, 2001:df0:2ed:feed::feed

正在连接 ftp.jaist.ac.jp (ftp.jaist.ac.jp)|150.65.7.130|:80... 已连接。

已发出 HTTP 请求,正在等待回应... 200 OK

长度:1701197 (1.6M) [application/x-gzip]

正在保存至: “openssh-8.2p1.tar.gz”

 

73% [=========================================================================>                            ] 1,244,943   12.8KB/s 剩余 33s    

[test@test ~]$ tar -xvf openssh-8.2p1.tar.gz

[test@test ~]$ ll

drwxr-xr-x 5 test test   12288 2月  14 2020 openssh-8.2p1

-rw-rw-r-- 1 test test 1701197 2月  14 2020 openssh-8.2p1.tar.gz

[test@test ~]$ cd  openssh-8.2p1

##准备编译OpenSS服务,注意编译前,需要将/etc/ssh进行备份如:mv /etc/ssh /etc/ssh-bak

[test@test openssh-8.2p1]$ ./configure --prefix=/usr/local/openssh-8.2 --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords --with-tcp-wrappers

##这个过程中会出现各种报错,都是由于编译环境缺少某些插件造成的,按错误安装相关插件即可

这里我的环境主要确实如下插件:

sudo yum install zlib-devel 

sudo yum -y install openssl-devel

sudo yum -y install pam-devel

##执行完成后进行编译

[test@test openssh-8.2p1]$ make

[test@test openssh-8.2p1]$ make install

##编译完成后修改环境变量

[test@test openssh-8.2p1]$ vim /etc/profile

##加入以下配置

export SSH_HOME=/usr/local/openssh-8.2
export PATH=$SSH_HOME/bin:$SSH_HOME/sbin:$PATH

[test@test openssh-8.2p1]$ source /etc/profile

##查看ssh是否已经配置成功

[test@test openssh-8.2]$ which ssh

/usr/local/openssh-8.2/bin/ssh

[test@test openssh-8.2]$ ssh -V

OpenSSH_8.2p1, OpenSSL 1.0.2k-fips  26 Jan 2017

[test@test openssh-8.2]$ service sshd restart

 

 当到这里时你以为你升级成功了,too young too simple,因为你旧版的还没有卸载掉,实际上你用的还是7.4版本的,so开始卸载

卸载当前系统默认的OpenSSH 

注意:这里卸载之后会导致系统无法通过ssh命令连接,所以在卸载之后一定不要退出当前命令框,直到版本升级完成打开新窗口能够通过ssh命令连接后在退出。如果条件允许最好对系统做快照备份方便恢复。或者在系统中安装telnet命令,如果ssh无法连接则通过telnet连接。

##查看当前openssh

[test@test openssh-8.2p1]$ rpm -qa | grep openssh

openssh-clients-7.4p1-21.el7.x86_64

openssh-server-7.4p1-21.el7.x86_64

openssh-7.4p1-21.el7.x86_64

##开始卸载,卸载前将/etc/ssh中的文件进行备份,因为卸载过程中会自动修改相关文件,主要是:ssh_config和sshd_config

[test@test ssh]$ ll

-rw-r--r-- 1 root root     1484 9月  27 14:18 ssh_config

-rw-r--r-- 1 root root     1484 9月  27 14:18 ssh_config.bak

-rw-r--r-- 1 root root     3388 9月  27 15:42 sshd_config

-rw-r--r-- 1 root root     3388 9月  27 15:42 sshd_config.bak

[test@test openssh-8.2p1]$ rpm -e --nodeps openssh-5.3p1-111.el6.x86_64
[test@test openssh-8.2p1]$ rpm -e --nodeps openssh-server-5.3p1-111.el6.x86_64
[test@test openssh-8.2p1]$ rpm -e --nodeps openssh-clients-5.3p1-111.el6.x86_64
[test@test openssh-8.2p1]$ rpm -e --nodeps openssh-askpass-5.3p1-111.el6.x86_64

##再次查看什么都没有了表示卸载成功

[test@test openssh-8.2p1]$ rpm -qa | grep openssh

##卸载后你会发现ssh_config和sshd_config没有了,这时你的备用文件就起到作用了,恢复一下就行

##从程序包中拷贝可执行文件

[test@test openssh-8.2p1]$ sudo cp /usr/local/src/openssh-8.2p1/contrib/redhat/sshd.init /etc/init.d/sshd

##如果sshd.init文件找不到,通过以下命令查找,如果sshd没有可执行权限记得赋权限

[test@test openssh-8.2p1]$ find / -name sshd.init

##添加到自动启动

[test@test openssh-8.2p1]$ chkconfig --add sshd

[test@test openssh-8.2p1]$ chkconfig sshd on

##重启sshd服务,这一步可能会报错

[test@test openssh-8.2p1]$ sudo systemctl restart sshd

##如果报错通过以下命令查看报错原因

[test@test openssh-8.2p1]$ systemctl status sshd.service

##这我的报错是因为ssh-keygen和sshd不在/usr/bin/和/usr/sbin,找到这两个文件拷贝到相应的目录下,这两个文件在你的安装目录下

[test@test openssh-8.2p1]$ sudo  cp ssh-keygen /usr/bin/

[test@test openssh-8.2p1]$ sudo cp sshd  /usr/sbin

[test@test openssh-8.2p1]$ ll |grep ssh-keygen

-rwxrwxr-x 1 test test 1720888 9月  24 17:13 ssh-keygen

[test@test openssh-8.2p1]$ ll |grep sshd

-rwxrwxr-x 1 test test 3308176 9月  24 17:12 sshd

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值