RHEL6和CentOS7升级openssh详细过程

本文提供了一步一步的指导,详细介绍了如何在RHEL6和CentOS7系统中安全升级OpenSSH服务,包括关闭防火墙、启用telnet、安装依赖包、配置启动脚本等关键步骤。

RHEL6和CentOS7升级openssh详细过程

升级的前提是需要将所需要的包和依赖都安装有,在此我推荐将系统的最新的镜像进行挂载,挂载到你需要升级的服务器,或者配置好远程yum源。

升级openssh的几大关键:

  1. 升级需要关闭防火墙服务、selinux。
  2. 升级需要开启telnet,防止升级失败无法登陆。
  3. 升级需要对应版本的:gcc、make、perl、zlib、zlib-dvel、pam、pam-devel、openssl-devel;
  4. 升级openssh;
  5. 升级完openssh后,原公钥失效,信任关系需要重新配置。

===================================================================
一、下载openssh包.
wget https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.8p1.tar.gz
或者官网直接下载,再传到需要升级的服务器上。
这是阿里的官方源下载:https://opsx.alibaba.com/mirror?lang=zh-CN

二、关闭防火墙、selinux。

# systemctl disable firewalld         
# systemctl stop firewalld
---------------------------RHEL用以写命令关闭--------------------------------
# /sbin/chkconfig iptable stop
# vim /etc/selinux/config
	SELINUX=disabled                                     //将SELINUX设置为disabled

三、安装telnet,用于升级ssh,防止升级失败。

1)
# yum -y install xinetd telnet telnet-server

2)注释掉下面这行,允许root通过telnet登陆:
# vim /etc/pam.d/login                     
  auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so

3)
# echo  'pts/0'  >>/etc/securetty
# echo 'pts/1' >>/etc/securetty

4) 注释下面这行,允许root用户远程登陆:
#  vim /etc/pam.d/remote
   auth       required     pam_securetty.so

5) 重启telnet和xinetd服务
# systemctl start telnet.socket
# systemctl start xinetd
# systemctl enable xinetd
# systemctl enable telnet.socket
------------------RHEL用以下命令--------------------------------
# service  xinetd  restart

6)如果还有其他防火墙开启,需要将23端口策略开放,再执行5)步骤。同时防止升级失败,请在桌面端telnet连接到升级的服务器上。

四、安装依赖包。

# yum  install openssl-devel pam-devel zlib-devel gcc make perl  openssl

五、升级openssh。

# mv /etc/ssh/ /etc/ssh.bak       //将原来是ssh备份,执行此操作后就不能再远程ssh进行连接。 

解压openssh-7.8p1.tar.gz包
# cd openssh-7.8p1
# ./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh                                

# make
# make install

# cp contrib/redhat/sshd.init  /etc/init.d/sshd              //配置启动脚本
# chmod +x /etc/init.d/sshd

# chkconfig --add sshd                                       //添加开机启动
# systemctl start sshd
# systemctl enable sshd
-----------------RHEL-----------------------
# /sbin/chkconfig  sshd  on

六、配置ssh服务以及公钥。
1)去掉注释。

# vim /etc/ssh/sshd_config
  PermitRootLogin yes

2)启动ssh服务

# service sshd start                          

3)配置ssh命令:这里很容易出错搞混,需要注意。

# mv /usr/sbin/sshd  /usr/sbin/sshd_bak
# mv /usr/bin/ssh    /usr/bin/ssh_bak

# cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd
# cp /usr/local/openssh/bin/ssh /usr/bin/ssh

# ssh -V            //刷新ssh版本

4)拷贝公钥

# cp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen

七、检查是否成功,复原无关的配置文件。
1) 重新建立新的连接,检查版本是否正确。
2) 将配置复原。

取消注释掉下面这行,禁止root通过telnet登陆:
# vim /etc/pam.d/login                     
  auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so

取消注释下面这行,禁止root用户远程登陆:
#  vim /etc/pam.d/remote
   auth       required     pam_securetty.so

复原防火墙

================================================================
@@想安全无误的升级ssh,本人建议最好是使用最新的镜像包源。当然也可以自己将全部缺少的依赖包下载做成仓库的形式,但是我觉得太麻烦,而且依赖包之间版本也需要配对。内网的情况下,我就遇到了升级ssh的坑,导致系统重装。@@

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值