Centos6.5 升级 openSSH从5.3升级到7.9p1的详细步骤

1.1升级原因

SF-2019-00163

OpenSSH(OpenBSD Secure Shell)是OpenBSD计划组所维护的一套用于安全访问远程计算机的连接工具。由于使用不存在的用户名和存在的用户名将返回不同的信息,该特性将能够被用来进行用户名枚举,并可能使用结果进行更进一步攻击。

影响以下版本:7.7。

升级Openssh到最新版本。

1.2 提前准备工作

(1)通过root用户配置visudo,使非root用户添加到可以使用sudo命令,这里以ringwater示例:

## Allow root to run any commands anywhere

root    ALL=(ALL)       ALL

ringwater       ALL=(ALL)       ALL

(2)配置telnet登录,防止ssh服务失效后可以继续进行维护

(3)防火墙要放通ssh和telnet端口,如果策略无法配置,可停用防火墙来实现.

(4)设置DNS vi /etc/resolv.conf添加dns

 nameserver 114.114.114.114

(5)更新yum库为阿里云,防止yum安装包失败

首先把fastestmirrors关了

#编辑

vi /etc/yum/pluginconf.d/fastestmirror.conf

#修改

enable=0

#或者执行以下命令

sed -i "s|enabled=1|enabled=0|g" /etc/yum/pluginconf.d/fastestmirror.conf

1. 先把之前的repo挪到备份

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

mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.bak

  1. 替换为官方Vault源(由于官网已停止对Centos 6的维护,更新会失败,需要重新建立可用的yum站点)

修改 Centos-Base.repo

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

[base]

name=CentOS-6.10

enabled=1

failovermethod=priority

baseurl=http://mirrors.aliyun.com/centos-vault/6.10/os/$basearch/

gpgcheck=1

gpgkey=http://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-6

[updates]

name=CentOS-6.10

enabled=1

failovermethod=priority

baseurl=http://mirrors.aliyun.com/centos-vault/6.10/updates/$basearch/

gpgcheck=1

gpgkey=http://mirrors.aliyun.comm/centos-vault/RPM-GPG-KEY-CentOS-6

[extras]

name=CentOS-6.10

enabled=1

failovermethod=priority

baseurl=http://mirrors.aliyun.com/centos-vault/6.10/extras/$basearch/

gpgcheck=1

gpgkey=http://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-6

[epel]

name=Extra Packages for Enterprise Linux 6 - $basearch

enabled=1

failovermethod=priority

baseurl=http://mirrors.aliyun.com/epel-archive/6/$basearch

gpgcheck=0

gpgkey=http://mirrors.aliyun.com/epel-archive/RPM-GPG-KEY-EPEL-6

epel源 epel.repo

vi /etc/yum.repos.d/epel.repo

[epel]

name=Extra Packages for Enterprise Linux 6 - $basearch

enabled=1

failovermethod=priority

baseurl=http://mirrors.aliyuncs.com/epel-archive/6/$basearch

gpgcheck=0

gpgkey=http://mirrors.aliyuncs.com/epel-archive/RPM-GPG-KEY-EPEL-6

运行以下命令生成缓存

yum clean all

yum makecache

2安装包准备

openssh-7.9p1.tar.gz

openssl-1.0.2u.tar.gz

zlib-1.2.11.tar.gz

上传安装包可以使用SFTP方式(secureCRT自带),或者sz命令。

3安装并启用Telnet

   先检查CentOS7.0是否已经安装以下两个安装包:telnet-serverxinetd。命令如下:

 rpm -qa telnet-server

 rpm -qa xinetd

    如果没有安装,则先安装。安装命令:

3.1 安装telnet

yum list |grep telnet

yum -y install telnet-server.x86_64

yum -y install telnet.x86_64

 3.2 安装xinetd 

这里安装xinetd

yum list |grep xinetd

yum -y install xinetd.x86_64

安装完成后,将xinetd服务加入开机自启动:

chkconfig xinetd on

service xinetd start

3.3 配置telnet服务

配置系统开机自动启动Telnet

/etc/xinetd.d目录

在Linux系统中有一个超级服务程序inetd,大部分的网络服务都是由它启动的,如chargen、echo、finger、talk、telnet、wu-ftpd等…,在旧版本它的设置是在/etc/inetd.conf中配置的。

在新版本,它就改成了一个xinetd.d目录。

在xinetd.d目录中,每一个服务都有一个相应的配置文件,我们以telnet为例,说明一下各个配置行的含义:vi /etc/xinetd.d/telnet

service telnet

{

socket_type=stream

wait=no

user=root

server=/usr/sbin/in.telnetd

log_on_failure+=USERID

disable=no

}

第一行,说明该配置用来设置telnet服务。

第二行,说明Socket连接类型是stream,也就是TCP

第三行,是指不等待到启动完成

第四行,是指以root用户启动服务进程

第五行,是指服务进程是/usr/sbin/in.telnetd

第六行,是用于做一些出错日志

第七行,是指禁止远方telnet,如果需要开放则将该配置改为:disable=no

修改了xinetd的配置,需要重启xinetd才能够生效,有两种方法可以实现:

执行如下命令:

service xinetd restart

注:

1)若还不能telnet,请检查/etc/hosts.deny,将ALL:ALL注释掉。

3.4 允许root直接登录telnet

默认情况下,linux不允许root用户以telnet方式登录linux主机,若要允许root用户登录,可采取以下方法:

验证规则设置在/etc/security文件中,该文件定义root用户只能在tty1-tty6的终端上记录,删除该文件或者将其改名即可避开验证规则实现root用户远程登录。

mv /etc/securetty /etc/securetty.bak

4、安装相关依赖包

查询依赖包是否全部安装:

rpm -qa | egrep "gcc|make|perl|zlib|zlib-devel|pam|pam-devel"

根据查询的情况进行安装相关依赖包

yum -y install gcc make perl zlib zlib-devel pam pam-devel

4.1 停止ssh服务

service sshd stop

备份ssh配置文件

cp -r /etc/ssh /etc/ssh.old  

4.2 查看系统原有openssh包

rpm -qa | grep openssh

openssh-server-5.3p1-94.el6.x86_64

openssh-clients-5.3p1-94.el6.x86_64

openssh-5.3p1-94.el6.x86_64

openssh-askpass-5.3p1-94.el6.x86_64

根据上面查询出的结果,卸载系统里原有Openssh(全部卸载)

rpm -e --nodeps  xxxxxxxxxx

卸载完成后执行rpm -qa | grep openssh,确保没有回显

4.3 编译安装zlib

解压刚才上传到服务器的zlib-1.2.11.tar.gz,并进行编译安装

tar -zxvf zlib-1.2.11.tar.gz

cd zlib-1.2.11

./configure --prefix=/usr/local/zlib

make

make install 

验证zlib安装是否成功,要包含includelibshare三个目录。

ll /usr/local/zlib

新建并编辑配置文件:

vi /etc/ld.so.conf.d/zlib.conf

加入如下内容后保存退出

/usr/local/zlib/lib

刷新库文件,加载刚才编译安装的zlib生成的库文件

ldconfig -v

  

4.4 编译安装openssl

解压安装openssl包,并进行编译安装

tar -zxvf openssl-1.0.2u.tar.gz

cd openssl-1.0.2u

./config shared zlib

make      (时间比较长,切勿打断)

make test    (时间比较长,切勿打断)

make install     (时间比较长,切勿打断)

重命名现有文件目录

mv /usr/bin/openssl /usr/bin/openssl.bak

创建ssl相关软连接

ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl

ln -s /usr/local/ssl/include/openssl /usr/include/openssl

编辑配置文件

vi /etc/ld.so.conf.d/ssl.conf

加入如下内容后保存退出

/usr/local/ssl/lib

刷新库文件,加载刚才编译安装的ssl生成的库文件

ldconfig -v

查看openssl版本

openssl version -a

4.5 升级openssh,编译安装

tar -zxvf openssh-7.9p1.tar.gz

cd openssh-7.9p1

./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-privsep-path=/var/lib/sshd --with-ssl-dir=/usr/local/ssl

make

修改文件权限(如没有,不需要管)

chmod 600 /etc/ssh/ssh_host_rsa_key

chmod 600 /etc/ssh/ssh_host_ecdsa_key

chmod 600 /etc/ssh/ssh_host_ed25519_key

make install

  

修改配置文件,允许root直接登录

echo "PasswordAuthentication yes"   >> /etc/ssh/sshd_config

echo "PermitRootLogin yes" >> /etc/ssh/sshd_config

ssh服务必须开机自启动,因此要进行一些设置

cp -p contrib/redhat/sshd.init /etc/init.d/sshd

chmod +x /etc/init.d/sshd

chkconfig --add sshd

chkconfig sshd on

service sshd restart

验证ssh版本

ssh –V

ssh登录测试,可以成功登录。

openssh版本升级完成!

4.6 收尾工作:

关闭开机启动:

 chkconfig --del xinetd

将telnet服务关闭开机启动:

vi /etc/xinetd.d/telnet

service telnet

{

socket_type=stream

wait=no

user=root

server=/usr/sbin/in.telnetd

log_on_failure+=USERID

disable=yes

}

service xinetd stop

还原securetty

mv /etc/securetty.bak /etc/securetty

4.7 如果升级失败,进行回退操作:

# yum -y install openssh-clients

# yum -y install openssh-server

# yum -y install openssh 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
您好!要将CentOS 7.2升级OpenSSH 7.9p1,您可以按照以下步骤操作: 1. 首先,确保您的系统已经更新到最新的软件包和补丁。您可以使用以下命令进行系统更新: ``` sudo yum update ``` 2. 安装OpenSSH软件包。使用以下命令安装OpenSSH: ``` sudo yum install openssh ``` 3. 确认OpenSSH已成功安装。使用以下命令检查OpenSSH版本: ``` ssh -V ``` 如果显示的版本不是7.9p1,请继续以下步骤。 4. 下载OpenSSH 7.9p1的源代码。您可以从OpenSSH官方网站下载最新版本的源代码:https://www.openssh.com/ 5. 解压下载的源代码包。使用以下命令解压源代码包: ``` tar -zxvf openssh-7.9p1.tar.gz ``` 6. 进入解压后的目录。使用以下命令进入解压后的目录: ``` cd openssh-7.9p1 ``` 7. 配置和编译OpenSSH。使用以下命令进行配置和编译: ``` ./configure make ``` 8. 停止当前运行的OpenSSH服务。使用以下命令停止OpenSSH服务: ``` sudo systemctl stop sshd ``` 9. 安装新编译的OpenSSH。使用以下命令安装新编译的OpenSSH: ``` sudo make install ``` 10. 启动OpenSSH服务。使用以下命令启动OpenSSH服务: ``` sudo systemctl start sshd ``` 11. 验证OpenSSH版本。使用以下命令再次检查OpenSSH版本: ``` ssh -V ``` 现在您的CentOS 7.2系统应该已经升级OpenSSH 7.9p1版本了。 请注意,升级操作可能会有风险,请确保在操作前备份重要数据,并确保您对系统有足够的了解和熟悉以及足够的权限来执行这些操作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值