Centos 6.5升级openssh到7.9p1

前言:

近期因centos 6.x 默认openssh扫描存在大量漏洞,基于安全考虑,需要将openssh_5.3p1升级为最新版,网上查了很多教程,发现openssh存在大量依赖,不解决依赖问题很难保证其他服务。而openssl又被大量程序依赖。实在是头疼。最后发现一个不破坏各种依赖又可以完美升级的方案。

以下操作系统是centos6.5
开启telnet
##安装telnet
yum -y install telnet-server*
service iptables stop
chkconfig iptables off
sed -i 's/\(.*\)disable\(.*\)/\ \ \ \ \ \ \ \ disable\ \ \ \ \ \ \ \ \ =\ no/g'   /etc/xinetd.d/telnet  ##将其中disable字段的yes改为no以启用telnet服务  
mv /etc/securetty /etc/securetty.old   #允许root用户通过telnet登录
service xinetd start
chkconfig xinetd on
检查环境

官方给出的文档中提到的先决条件openssh安装依赖zlib1.1.4并且openssl>=1.0.1版本就可以了。那么直接看当前系统的openssl版本是多少

[root@zabbix-serv ~]# openssl version
OpenSSL 1.0.1e-fips 11 Feb 2013
[root@zabbix-serv ~]# rpm -q zlib
zlib-1.2.3-29.el6.x86_64
[root@zabbix-serv ~]# rpm -q zlib-devel
zlib-devel-1.2.3-29.el6.x86_64

发现自带的openssl版本符合openssh7.9p1的安装条件,自带的zlib也符合OpenSSH7.9P1的依赖。那么就直接安装吧

安装相关组件并升级openssh
yum install -y gcc openssl-devel pam-devel rpm-build pam-devel 
#wget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.9p1.tar.gz
rpm -e `rpm -qa | grep openssh` --nodeps
cd /usr/local/src/ && tar zxvf openssh-7.9p1_Compile.tar.gz &&  cd openssh-7.9p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords --with-tcp-wrappers && make && make install
sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin\ yes/g' /etc/ssh/sshd_config #或手动修改PermitRootLogin no 修改为 PermitRootLogin yes 允许root远程登陆
sed -i 's/#PermitEmptyPasswords\(.*\)/PermitEmptyPasswords\ no/g' /etc/ssh/sshd_config  ##禁止空密码
sed -i 's/^SELINUX\(.*\)/SELINUX=disabled/g' /etc/selinux/config  ##重点来了~~~禁止selinux 否则重启后会登录失败
echo 'KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1' >> /etc/ssh/sshd_config ## 写上新版ssh支持的算法
cp contrib/redhat/sshd.init /etc/init.d/sshd
chkconfig --add sshd
chkconfig sshd on
service sshd start
service sshd restart
chkconfig --list sshd
ssh -V
关闭telnet
mv /etc/securetty.old /etc/securetty   #允许root用户通过telnet登录
service xinetd stop
chkconfig xinetd off
service iptables start
chkconfig iptables on
将之前改过的disable=yes又改回去成no.
随后再将修改iptables将23端口关闭,并重启iptables服务.
至此,可以再开ssh登录,用ssh -V查看版本号.
  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值