由于升级OpenSSH涉及到安全性问题,为保险起见,在升级前最好安装telnet服务作为备用方案,然后在升级成功后再停止telnet即可。



一、OpenSSH升级相关源码包下载地址



zlib  http://www.zlib.net/zlib-1.2.11.tar.gz

zlib其他版本下载地址 http://www.zlib.net/fossils/

openssl-fips https://www.openssl.org/source/old/fips/openssl-fips-2.0.12.tar.gz

OpenSSL https://www.openssl.org/source/openssl-1.0.2k.tar.gz

OpenSSH  http://openbsd.hk/pub/OpenBSD/OpenSSH/portable/ openssh-7.4p1.tar.gz



二、配置yum源



1.新建光盘挂载目录/yum

mkdir /yum



2.上传光盘到机器的某个目录,然后挂载到/yum目录下

mount  -o loop  rhel-server-6.5-x86_64-dvd.iso  /yum



3.配置local.repo

cd  /etc/yum.repo.d/          #为防止其他repo文件干扰,可将其他repo文件进行重命名或删除

vi local.repo

输入如下内容

[Redhat6.5]

name=rhel6.5

baseurl=file:///yum

enabled=1

gpgcheck=0



三、安装telnet服务

1. 使用yum安装telnet

yum -y install
telnet-server*

2. 启动telnet服务

打开vi /etc/xinetd.d/telnet文件,将disable字段改为no

3.启动telnet服务

/etc/init.d/xinetd start

4.查看telnet服务是否启动

netstat -tnlp |
grep :23

tcp       0     
0 :::23    
  :::*        LISTEN     
5013/xinetd

5.关闭防火墙后,telnet才可以使用

service iptables
stop                #关闭防火墙

chkconfig iptables
off               #设置防火墙开机不启动

chkconfig xinetd on                 #设置telnet服务开机启动

四、查看当前selinux的状态

getenforce                        #查看selinux状态

setenforce 0                      #设置selinux为关闭



为防止OpenSSH升级后通过远程终端无法连接机器,建议将其关闭,方法如下:

vi
/etc/selinux/config

将SELINUX=enforcing修改为SELINUX=disabled

五、安装依赖包

yum -y install gcc pam-devel zlib-devel
openssl-devel

六、安装zlib

1.解压

tar -xvf
zlib-1.2.11.tar.gz

cd zlib-1.2.11

2.配置

./configure

3.编译安装

make            

make install

4.查看

ll /usr/local/lib







七、
安装openssl-fips-2.0.14



1.解压

tar –xf openssl-fips-2.0.14.tar.gz

cd
openssl-fips-2.0.14

2.配置

./config

3.编译安装

make

make install

八、安装openssl-1.0.2k

1.解压

tar –xf openssl-1.0.2k.tar.gz

cd openssl-1.0.2k

2.配置

./config

3.编译安装

make

make install

4.设置软连接

ln -s
/usr/local/ssl/bin/openssl /usr/bin/openssl           #设置软连接,如果提示已存在,则无需再设置

5.查看新安装的openssl版本

openssl version –a





九、安装openssh-7.4p1

1.解压

tar –xf  openssh-7.4p1.tar.gz

cd  openssh-7.4p1

2.编译

./configure  
--prefix=/usr   --sysconfdir=/etc/ssh  
--with-md5-passwords   --with-pam  
--with-tcp-wrappers   --with-ssl-dir=/usr/local/ssl   --without-hardening

3.编译安装

make

make install

4.修改配置文件

(1)备份sshd文件,重命名为sshd_20170209_old

mv /etc/init.d/sshd
 /etc/init.d/sshd_20170209_old

(2)复制配置文件、赋权、添加到开机启动项

cd /root/openssh-7.4p1/contrib/redhat

cp sshd.init  /etc/init.d/sshd

chmod u+x
/etc/init.d/sshd

chkconfig --add
sshd

chkconfig sshd on

#备份原文件

mv /etc/ssh/ssh_config  /etc/ssh/ssh_config_20170209_old

mv /etc/ssh/sshd_config  /etc/ssh/sshd_config_20170209_old

cd /root/openssh-7.4p1

cp ssh_config
/etc/ssh/ssh_config          #根据提示,输入y进行覆盖(若对原文件重命名,则无需覆盖)

cp -p sshd_config
/etc/ssh/sshd_config         #根据提示,输入y进行覆盖(若对原文件重命名,则无需覆盖)

(3)查看安装后openssh版本

ssh –V

(4)设置允许root用户登录(openssh升级后,root默认被禁用)

打开vi /etc/ssh/sshd_config文件,将PermitRootLogin设置为yes

(5)重启SSH

service sshd restart

(6)重启机器

十、停止telnet服务

待确认新升级的OpenSSH版本可以正常使用时,然后停止telnet服务



1.修改配置文件

将vi /etc/xinetd.d/telnet文件中的disable         = no修改为disable         =
yes

2.设置telnet开机不启动

chkconfig  xinetd off

3.关闭telnet服务

/etc/init.d/xinetd
stop

4.开启防火墙并设置开机自动启动

service iptables
start

chkconfig iptables
on

最新文章

  1. javascript设计模式实践之迭代器--具有百叶窗切换图片效果的JQuery插件(一)
  2. 2014西安现场赛F题 UVALA 7040
  3. Python基础10- 函数之内部函数与强制转换
  4. 在centos上安装mysql5.7的三种方法
  5. D3.js data() 方法详解
  6. Qt使用快捷键
  7. SVN - 笔记
  8. 【入门】安装Elasticsearch5.0 部署Head插件
  9. Xshell和VirtualBox虚机CentOS7的连接
  10. 【Machine Learning in Action --2】K-近邻算法构造手写识别系统
  11. 基于springboot微信公众号开发,几分钟学会微信自动回复
  12. 四种方式实现子goroutine与主线程的同步
  13. [转]FFMpeg框架代码阅读
  14. 洛谷P3327 约数个数和 结论+莫比乌斯反演
  15. Angular记录(3)
  16. json处理+list.sort()排序
  17. position 小结
  18. python之OpenCv
  19. 普通用户使用docker命令免sudo权限的问题
  20. Jenkins 总结

热门文章

  1. Spring-打印机案例
  2. P1791 线段覆盖
  3. 浏览器详谈及其内部工作机制 —— web开发必读
  4. Sublime Text 3安装AngularJS插件
  5. Linux下环境搭建(三)——jmeter+ant配置
  6. Android GreenDao 深查询 n:m 的关系
  7. ionic2 tabs 自定义图标
  8. uvm_reg_model——寄存器模型(一)
  9. Drools应用实例
  10. Android学习总结(十八) ———— SQLite数据库使用