centos7升级openssl、openssh常见问题及解决方法
升级至openssl 1.1.1版本
升级至openssh 8.0版本
openssl version -a 当前查看版本
一.安装telnet (以防升级失败,连不上服务器,建议弄)
#查看是否安装
rpm -qa | grep telnet
rpm -qa | grep xinetd
#若无安装,yum安装
yum -y install telnet*
yum -y install xinetd
#将服务开机自启(此处根据自身情况考虑)
systemctl enable xinetd.service
systemctl enable telnet.socket
#开启服务
systemctl start telnet.socket
systemctl start xinetd
vi /etc/securetty
在最后添加两行
pts/0
pts/1
systemctl restart xinetd
netstat -plnt |grep 23确认下
二、升级OpenSSl
1、查看源版本
[root@zj ~]# openssl version -a
2、解压安装
tar zxvf openssl-1.1.1c.tar.gzcd openssl-1.0.1g
cd openssl-1.1.1c
./config --prefix=/usr/local/openssl #检查环境
./config –t
make #编译
make install #编译安装
cd /usr/local
ldd /usr/local/openssl/bin/openssl #检查函数库
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf #添加所缺函数库
ldconfig -v #更新函数库
openssl/bin/openssl version #查看新安装的版本
which openssl #查看旧版本openssl命令在哪里
mv /bin/openssl /usr/bin/openssl.old #将旧版本openssl移除
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl #新版本制作软链接
openssl version 最后查看版本,更新完毕
在确保Openssl版本为1.0.1后,可以升级Openssh了,升级方法如下。
解压,进入编译
备份旧版本
mv /etc/ssh /etc/ssh.old
cd openssh-8.0p1/
./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/usr/local/openssl --with-md5-passwords --mandir=/usr/share/man --with-zlib=/usr/local/zlib --without-hardening
在安装的过程中如遇到以下错误,请安装yum -y install openssl-devel

如遇以下错误,请安装yum -y install pam-devel
configure: error: PAM headers not found
我升级的时候只遇到这两个错,如遇到别的错,请自行解决。
然后make && make install
修改启动脚本
cp ./contrib/redhat/sshd.init /etc/init.d/sshd 拷贝启动脚本
修改启动脚本
vim /etc/init.d/sshd
按如下图修改
SSHD=/usr/local/openssh/sbin/sshd

/usr/local/openssh/bin/ssh-keygen –A
/sbin/restorecon /etc/ssh/ssh_host_key.pub
/sbin/restorecon /etc/ssh/ssh_host_rsa_key.pub
/sbin/restorecon /etc/ssh/ssh_host_dsa_key.pub
/sbin/restorecon /etc/ssh/ssh_host_ecdsa_key.pub

修改sshd配置文件/etc/ssh/sshd_config
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config #直接用root登录终端(此处根据自身情况考虑)
echo 'X11Forwarding yes' >> /etc/ssh/sshd_config #设置是否允许X11转发
echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config #是否允许密码验证

卸载原有ssh(先安装后卸载,也是怕升级失败,如果有把我,可先卸载)
for i in $(rpm -qa |grep openssh);do rpm -e $i --nodeps ;done
提示警告:


将警告中修改的名字改回来
mv /etc/ssh/sshd_config.rpmsave /etc/ssh/sshd_config
mv /etc/ssh/ssh_config.rpmsave /etc/ssh/ssh_config
mv /etc/ssh/moduli.rpmsave /etc/ssh/moduli
cp -arp /usr/local/openssh/bin/* /usr/bin/ 替换相关命令
service sshd restart 重启sshd服务
验证升级、让其他人测试连接后再退出
ssh -V 和telnet

开机自启
chkconfig --add sshd
chkconfig --level 2345 sshd on
chkconfig --list
升级完成后,为了安全起见,建议关闭telnet
#关闭服务(此处根据自身情况考虑)
systemctl stop telnet.socket
systemctl stop xinetd
#关闭服务开机自启(此处根据自身情况考虑)
systemctl disable xinetd.service
systemctl disable telnet.socket
centos7升级openssl、openssh常见问题及解决方法的更多相关文章
- 实战redhat6.5离线升级openssl&openssh
记录一次RedHat6.5升级openssl&openssh踩坑填坑.由于机房信息安全员用绿盟扫描出服务器openssh有8个重要的安全漏洞,最好的解决方式就是升级版本. 注意事项: 先升级o ...
- Nacos 常见问题及解决方法
Nacos 开源至今已有一年,在这一年里,得到了很多用户的支持和反馈.在与社区的交流中,我们发现有一些问题出现的频率比较高,为了能够让用户更快的解决问题,我们总结了这篇常见问题及解决方法,这篇文章后续 ...
- NHibernate常见问题及解决方法
NHibernate常见问题及解决方法 曾经学过NHibernate的,但是自从工作到现在快一年了却从未用到过,近来要巩固一下却发现忘记了许多,一个"in expected: <end ...
- C#用ado.net访问EXCEL的常见问题及解决方法
C#用ado.net访问EXCEL的常见问题及解决方法,除了像sql server,access常见的数据库,其实Excel文件也可以做为数据库访问. ado.net访问excel的实例: OleDb ...
- Centos7常见问题及解决方法
1,在Centos7中用MariaDB代替了mysql数据库 2,mysql报错:/usr/sbin/mysqld:unknown variable 'default-character-set=ut ...
- 安装scrapy框架的常见问题及其解决方法
下面小编讲一下自己在windows10安装及配置Scrapy中遇到的一些坑及其解决的方法,现在总结如下,希望对大家有所帮助. 常见问题一:pip版本需要升级 如果你的pip版本比较老,可能在安装的过程 ...
- python网络爬虫(1)——安装scrapy框架的常见问题及其解决方法
Scrapy是为了爬取网站数据而编写的一款应用框架,出名,强大.所谓的框架其实就是一个集成了相应的功能且具有很强通用性的项目模板. 其实在Linux和 Mac安装,就简单的pip命令即可: pip i ...
- AppFuse 3常见问题与解决方法
非常长一段时间没做SSH项目了.近期抽出时间看了一下升级到3.x的appfuse,对新版本号使用过程中出现的一些问题进行了排查.汇总例如以下.以备后用.本文原文出处: http://blog.csdn ...
- CentOS7 升级Openssl的办法
1.查看安装的版本 openssl version -a OpenSSL 1.0.2 2.下载 openssl-1.1.1.tar.gz,目前最新是1.1.1,可以通过修改版本号的方式下载最新版本 最 ...
随机推荐
- Go语言标准库之log
无论是软件开发的调试阶段还是软件上线之后的运行阶段,日志一直都是非常重要的一个环节,我们也应该养成在程序中记录日志的好习惯. log Go语言内置的log包实现了简单的日志服务.本文介绍了标准库log ...
- 获得本机IP和访问服务的端口号(Java)
1. //获取本机ip地址 InetAddress addr = InetAddress.getLocalHost(); String ip=addr.getHostAddress().toStrin ...
- Python分布式爬虫必学框架Scrapy打造搜索引擎
Python分布式爬虫必学框架Scrapy打造搜索引擎 部分课程截图: 点击链接或搜索QQ号直接加群获取其它资料: 链接:https://pan.baidu.com/s/1-wHr4dTAxfd51M ...
- java.lang.UnsupportedClassVersionError:JDK版本不一致报错
交代一下背景:公司运行的一个上线项目,打了个补丁发给客户后,反馈说运行不了.把源码拿回来场景重现.贴上报错信息: 08-15 14:13:29 ERROR doPost(jcm.framework.r ...
- json-lib包引入失败的解决方法
要想使用json-lib的依赖必须加入<classifier>jdk15</classifier> 这一行,否则就导入依赖时就会失败报错,下载不下来jar包,因为json-li ...
- Winforn中DevExpress的TreeList中显示某路径下的所有目录和文件(附源码下载)
场景 Winform中DevExpress的TreeList的入门使用教程(附源码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...
- Servlet控制台输出乱码问题
在如下图的配置页面: 在此行添加编码格式:
- JAVA WEB中的Servlet过滤器
实现一个Servlet过滤器,可以对用户登录情况进行控制.要求如下: 1)访问路径是admin下的资源,需要登录,如果用户没有登录,自动转向用户登录页面.用户登录成功后,再次访问admin下的资源不需 ...
- SpringBoot区块链之以太坊开发(整合Web3j)
最近公司需要ETH兑换功能,ETH转账需要区块打包,这个时候就需要区块检测,目前只是简单整合,后面会将区块自动检测代码上传致QQ群 对于区块链开发不太熟悉的童鞋,可以看看:[区块链开发(零)如何开始学 ...
- Session和Cookie的用法及区别
1. Session.Cookie是什么 1.1 概念理解 要了解session和cookie是什么,先要了解以下几个概念. 1.1.1 无状态的HTTP协议 协议:是指计算机通信网络中两台计算机之间 ...