Centos6.5升级openssh至7.4版本
一,备份配置文件,以备升级失败进行回退
二,下载安装包
wget http://www.zlib.net/zlib-1.2.11.tar.gz
wget https://openbsd.mirror.netelligent.ca/pub/OpenBSD/OpenSSH/portable/openssh-7.4p1.tar.gz
wget https://www.openssl.org/source/openssl-1.0.2m.tar.gz
三,查看当前系统版本

四,开启telnet连接通道
yum安装telnet
yum -y install telnet-server*
关闭防火墙
/etc/init.d/iptables stop
编辑配置文件
vim /etc/xinetd.d/telnet
disable值yes改为no
允许root用户通过telnet登录
mv /etc/securetty /etc/securetty.old
启动并设置开机启动
/etc/init.d/xinetd start
chkconfig xinetd on
验证 telnet 127.0.0.1
五,安装编译工具包
yum install gcc pam-devel zlib-devel -y
六,安装zlib
解压
tar -xf zlib-1.2.11.tar.gz
进入目录
cd zlib-1.2.11
编译
./configure --prefix=/usr
make
卸载
rpm -e --nodeps zlib
make install
共享库文件注册到系统
echo '/usr/lib' >> /etc/ld.so.conf
ldconfig
七,升级openssl
备份当前openssl
mv /usr/lib64/openssl/ /usr/lib64/openssl.old
mv /usr/bin/openssl /usr/bin/openssl.old
mv /etc/pki/ca-trust/extracted/openssl /etc/pki/ca-trust/extracted/openssl.old
如下两个库文件必须先备份,因系统内部分工具(如yum、wget等)依赖此库,而新版OpenSSL不包含这两个库
cp /usr/lib64/libcrypto.so.10 /usr/lib64/libcrypto.so.10.old
cp /usr/lib64/libssl.so.10 /usr/lib64/libssl.so.10.old
卸载当前openssl
rpm -qa |grep openssl|xargs -i rpm -e --nodeps {}
安装openssl
tar -xf openssl-1.0.2m.tar.gz
cd openssl-1.0.2m
./config --prefix=/usr/local/ssl --openssldir=/etc/ssl --shared zlib
make
make test
make install
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
ldconfig -v
验证
openssl version

PS:必须加上--shared,否则编译时会因找不到新安装的openssl的类库而报错
恢复共享库
mv /usr/lib64/libcrypto.so.10.old /usr/lib64/libcrypto.so.10
mv /usr/lib64/libssl.so.10.old /usr/lib64/libssl.so.10
八,升级openssh
备份当前openssh
mv /etc/ssh /etc/ssh.old
卸载
rpm -qa |grep openssh|xargs -i rpm -e --nodeps {}
openssh安装前环境配置
install -v -m700 -d /var/lib/sshd
chown -v root:sys /var/lib/sshd
groupadd -g 51 sshd
useradd -c 'sshd PrivSep' -d /var/lib/sshd -g sshd -s /bin/false -u 51 sshd
源码安装
tar -xf openssh-7.4p1.tar.gz
cd openssh-7.4p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-ssl-dir=/usr/local/ssl --with-privsep-path=/var/lib/sshd
make && make install
安装后环境配置
install -v -m755 contrib/ssh-copy-id /usr/bi
install -v -m644 contrib/ssh-copy-id.1 /usr/share/man/man1
install -v -m755 -d /usr/share/doc/openssh-7.4p1
install -v -m644 INSTALL LICENCE OVERVIEW README* /usr/share/doc/openssh-7.4p1
验证是否安装成功

启动openssh服务
echo 'X11Forwarding yes' >> /etc/ssh/sshd_config
允许root直接登录
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
拷贝启动文件设置chkconfig
cp -p contrib/redhat/sshd.init /etc/init.d/sshd
chmod +x /etc/init.d/sshd
chkconfig --add sshd
chkconfig sshd on
重启sshd需要通过telnet才能登录启动sshd了
/etc/init.d/sshd restart
如果需要还原原来的ssh配置(如不需要则不进行一下操作)
rm -rf /etc/ssh
mv /etc/ssh.old /etc/ssh
恢复登录
mv /etc/securetty.old /etc/securetty
验证 openssh已经升级为更加安全的高版本

PS:如果xshell登录出现

设置以下即可解决

参考:https://www.cnblogs.com/share100/p/6862635.html
http://www.cnblogs.com/ldybyz/p/6699779.html
Centos6.5升级openssh至7.4版本的更多相关文章
- CentOS6.x服务器OpenSSH平滑7.3p版本——拒绝服务器漏洞攻击
对于新安装的Linux服务器,默认OpenSSH及OpenSSL都不是最新的,需要进行升级以拒绝服务器漏洞攻击.本次介绍的是升级生产环境下CentOS6.x系列服务器平滑升级OpenSSL及OpenS ...
- Centos 6.5升级openssh到7.5p1版本
centos6自带的ssh版本较低,存在高危漏洞,目前部分服务器需要升级到最新版本(目前是7.5p1). 注:升级ssh存在一定的危险性,一旦不成功可能无法通过远程连接到系统,因此在升级之前最好有远程 ...
- Centos6.5升级openssh、OpenSSL和wget
1.OpenSSL 1.1.查看版本 使用如下命令查看版本: openssl version 1.2.安装gcc依赖 yum -y install gcc gcc-c++ 1.3.安装配置 ./con ...
- centos7 升级openssh到openssh-8.0p1版本
环境介绍 centos7.3和centos7.6升级完毕测试登录ssh以及重启后登录ssh均无问题. 前期请自行配置好yum源(如果不会请百度) 整个过程不需要卸载原先的openssl包和openss ...
- centos6.5升级openssh至7.9p1
环境说明系统环境:centos 6.5 x64 openssh-5.3p1升级原因:低版本openssh存在漏洞升级目标:openssh-7.9p1 检查环境官方文档中提到的先决条件openssh安装 ...
- centos6.5 升级安装pcre 8.39版本
1.查看系统pcre安装情况 rpm -qa pcre 2.卸载系统自带的旧版本 rpm -e --nodeps pcre 3.下载新版安装 地址:ftp://ftp.csx.cam.ac.uk/pu ...
- CentOS 6.9 升级OpenSSH版本 关闭ssh服务后门
最近用低版本的OpenSSH(5.9p1版本) 的漏洞给系统留了个后门 , 可以劫持root密码或者给root开启后门密码 : 利用Openssh后门 劫持root密码 如果公司还在用CentOS6的 ...
- centos6升级openssh至7.9
1.为了防止升级失败登陆不了,所以需要安装telnet mkdir /root/ssh_updateyum install -y telnet-serveryum install -y xinetd ...
- CentOS6、7升级Openssh至7.9
出于安全考虑,定期使用Nessus对服务器进行扫描,最新Nessus提示服务器的SSH版本有漏洞,所以把SSH升级到最新版本 1.为了防止升级失败登陆不了,所以需要安装telnet mkdir /ro ...
随机推荐
- $scope绑定事件之$on方法和$emit,$broadcast
function DemoCtrl($scope){ $scope.count = 0; $scope.$on('myevent',function(){ $scope.count++; }) } 视 ...
- iOS开发之使用AFN上传图片
//1.创建管理者对象 AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; manager.responseSerializ ...
- 孙源即将分享 DynamicCocoa 实现细节
孙源即将分享 DynamicCocoa 实现细节 我的公众号之前发的一文中提到滴滴做了一个很牛逼的动态化方案 DynamicCocoa.该方案设计得非常精巧,解决了两种不同的语言在代码上如何等价生 ...
- CodeForces 2A Winner
Winner Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit Statu ...
- android版本号始终为1
之前用Eclipse里时,版本号是检查是做如下 <manifest xmlns:android="http://schemas.android.com/apk/res/android& ...
- Insubstantial 6.2 Release
http://shemnon.com/speling/2011/04/insubstantial-62-release.html
- myeclipse工程重名后怎么更改deploy location?
http://zhidao.baidu.com/link?url=I9E16OYfxovPHqBrRWhYCI9TYNG_X-Whg_X7QrJiOBXBGEwi-6WYsC-Zi4Jcg9zd3ye ...
- 【BZOJ】1061: [Noi2008]志愿者招募(费用流+数学)
http://www.lydsy.com/JudgeOnline/problem.php?id=1061 好神的一题! 学会了一种建模方式: 当方程组内的任意变量都在其中两个方程出现且一正一负,可以建 ...
- media wiki run on nginx
1. 环境安装: nginx安装 nginx-1.5.7 php安装 PHP 5.4.10 (cli) (built: Jul 30 2014 16:45:08) mysql安装 Ver 14.14 ...
- ThinkPHP中的验证码不出现的解决办法
出现这种问题的原因可能是因为代码写的不规范,出现了其他的输出:解决办法: 原代码: public function captchaAction() { $verify = ...