百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

centos 7 升级OpenSSH(centos 7 升级 centos 8)

itomcoil 2025-04-01 19:01 11 浏览

远程登录linux服务器的方式按照显示的不同可以分为文字接口和图形接口,文字显示有ssh和telnet,图形显示有VNC和Xdmcp。linux一直都是以命令行之美冠名,很多服务器都没有安装图形界面,远程登录都是用telnet和ssh。

telnet协议的端口号为23,它是Internet远程登陆服务的标准协议。telnet协议远程登录用户和密码都是明文很容易被攻击和篡改,协议本身还有很多漏洞。telent协议也被用于各种各样的入侵破坏活动。telnet协议的种种弊端导致几乎所有的linux发行版操作系统都用ssh登录,随着telnet登录方式退出历史舞台ssh登录方式大行其道。ssh许多标准,我们常用的是OpenSSH。

各大linux发行版都会集成OpenSSH用于我们登录,随着时间的推移OpenSSH会暴露出各种漏洞,漏洞会极大的威胁我们的操作系统安全,所以我们需要升级新版本的OpenSSH。下面我以centos7为例升级OpenSSH。

安装操作系统集成的OpenSSH版本如下图,版本比较老了漏洞非常多。我们把它升级到8.6。

安装包:openssh-8.6p1.tar.gz openssl-1.1.1g.tar.gz
openssl-fips-2.0.16.tar.gz ,在我们开始升级前一定确保安装了gcc编辑器。为了避免升级失败出现问题连接不上服务器的问题我们要临时开启telnet登录方式,没错就是我们前文说的那个万恶的telnet登录方式。

telnet表示躺枪,我哪里万恶了。

闲话少说下面就开始升级。

1、开启telnet登录方式。

首先要检查我们的操作系统是否已经安装了telnet-server和xinetd。如果没有安装请安装,检查命令如下:rpm -qa telnet-server rpm -qa xinetd 。嘿嘿我已经提前安装好了。

如果没有安装就请安装下吧。

安装命令:yum install telnet-serveryum install xinetd 。安装完成后启动这两个服务,命令:systemctl start telnet.socketsystemctl start xinetd 。然后将这两个服务加入开机自启动,命令:systemctl enable xinetd.service systemctl enable telnet.socket 。允许root远程登陆最简单的方法是:mv /etc/securetty /etc/securetty.bak ,还有修改配置文件方法能允许root远程登陆,太麻烦了。我们是拿人家telnet远程登陆当备胎,用完就卸磨杀驴没必要整那么麻烦,怎么简单怎么来。 然后我们测试下是否可以用telnet远程登陆服务器。直接在windows下的cmd测试,telnet 192.168.202.128 23 (我的虚拟机ip是:192.168.202.128,23是telnet的端口号)。

到这里我们成功用telnet远程登陆了服务器。

2、检查当前版本openssl 和openssh

检查openssl,命令:openssl version -a ,版本如下图所示。

检查openssh,命令:ssh -V ,版本如下图所示。

3、安装openssl-fips-2.0.16

进入openssl-fips-2.0.16安装包所在的目录,我这里就放在了/home下了,解压
openssl-fips-2.0.16.tar.gz ,命令:
tar -zxvf
openssl-fips-2.0.16.tar.gz
,解压完成后进入openssl-fips-2.0.16文件夹。

进入openssl-fips-2.0.16文件夹后配置config,执行 :./config ,然后编译安装,执行makemake install ,执行过程中屏幕会刷很多日志,注意观察只要不报错就行。篇幅太长这里就不截图了。

4、安装openssl-1.1.1g.tar.gz

过程和上面差不多,进入openssl-1.1.1g.tar.gz安装包所在目录,我这里就放在了/home下。解压openssl-1.1.1g.tar.gz,命令: tar -zxvf openssl-1.1.1g.tar.gz ,解压完成后进入openssl-1.1.1g文件夹配置config,执行 :./config ,然后编译安装,执行makemake install ,执行过程中屏幕会刷很多日志,注意观察只要不报错就行。篇幅太长这里就不截图了。

备份原有openssl的软连接,命令:mv /usr/bin/openssl /usr/bin/openssl-1.0.1e

mv /usr/lib64/openssl /usr/lib64/openssl1.0.1e

mv /usr/local/ssl /usr/local/ssl1.0.1e

mv /usr/bin/openssl /usr/bin/openssl-1.0.2k

mv /usr/lib64/openssl /usr/lib64/openssl-1.0.2k

mv /usr/local/ssl /usr/local/openssl-1.0.2k ,然后设置新的软连接,命令:

ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1.1g

ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1.1g

ln -s /usr/lib64/libssl.so.1.1.1g /usr/lib64/libssl.so

ln -s /usr/lib64/libcrypto.so.1.1.1g /usr/lib64/libcrypto.so

ldconfig -v

执行完这些命令后执行openssl version查看升级版本。从下图中可以看到升级成功了。

这个升级过程比centos6复杂很多,一定要小心千万别弄错了,我这里的方法仅供参考如有错误请指正谢谢。

5、升级ssh到8.6


解压openssh-8.6p1.tar.gz,命令:tar -zxvf openssh-8.6p1.tar.gz,进入到openssh-8.6p1目录下,执行命令:./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords --with-ssl-dir=/usr/local/ssl --mandir=/usr/share/man --with-kerberos5=/usr/lib64/libkrb5.so

安装过程可能出这个错:zlib.h missing - please install first or check config.log **

这是缺少依赖包,安装依赖包即可,yum -y install zlib zlib-deve 。出现这个错误:configure error: PAM headers not found:这也是缺少依赖包了,安装依赖包即可,yum -y install pam-devel 。如果出现:auth.h:40:18: 致命错误:krb5.h:没有那个文件或目录,执行:yum install krb5-devel 就可以了。

然后执行makemake install。如果出现下面的错误,执行下面语句。

chmod 600 /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key

配置文件如下:

mv /etc/init.d/sshd /etc/init.d/sshd_old

cd /usr/local/src/ssh8.6/openssh-8.6p1/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_old

mv /etc/ssh/sshd_config /etc/ssh/sshd_config_old

cd /usr/local/src/ssh8.6/openssh-8.6p1

cp ssh_config /etc/ssh/ssh_config

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

cp -p sshd_config /etc/ssh/sshd_config

ssh -V

更改配置

vim /etc/ssh/sshd_config

PermitRootLogin yes

sshd.init就是源码包自带的ssh服务脚本了,把它拷贝到/etc/init.d/目录下

cd /usr/local/src/ssh8.6/openssh-8.6p1/contrib/redhat/

cp sshd.init /etc/init.d

加到系统服务

chkconfig --add sshd

(update-rc.d ssh defaults)


重启服务,查看服务状态

service sshd restart

service sshd start

service sshd status

最后要关掉telnet远程连接。虽然有点卸磨杀驴的意思。

yum remove xinetd

yum remove telnet-server

到此ssh升级成功。

内容写的有点乱有、如有错误请指正谢谢

本文有些内容是参考学习了下面几位作者的文章,对下面作者表示感谢。

【CentOS7升级openssh至8.0】原文链接:
https://blog.csdn.net/yanzhenjingfan/article/details/100551160

【centos 7 升级OpenSSH-8.2p1 】原文链接:
https://www.cnblogs.com/it-baibai/archive/2020/05/12/12873531.html

【Centos7升级openssh到最高版本】原文链接:
https://blog.csdn.net/xyy1028/article/details/104787689/

相关推荐

PS小技巧 调整命令,让人物肤色变得更加白皙 #后期修图

我们来看一下如何去将人物的皮肤变得更加的白皙。·首先选中图层,Ctrl键加J键复制一层。·打开这里的属性面板,选择快速操作删除背景,这样就会将人物进行单独的抠取。·接下来在上方去添加一个黑白调整图层,...

把人物肤色提亮的方法和技巧

PS后期调白肤色提亮照片的方法。一白遮百丑,所以对于Photoshop后期来说把人物肤色调白是一项非常重要的任务。就拿这张素材图片来说,这张素材图片人脸的肤色主要偏红、偏黄,也不够白皙,该怎样对它进行...

《Photoshop教程》把美女图片调成清爽色彩及润肤技巧

关注PS精品教程,每天不断更新~~室内人物图片一般会偏暗,人物脸部、肤色及背景会出现一些杂点。处理之前需要认真的给人物磨皮及美白,然后再整体润色。最终效果原图一、用修补工具及图章工具简单去除大一点的黑...

PS后期对皮肤进行美白的技巧

PS后期进行皮肤美白的技巧。PS后期对皮肤进行美白的技巧:·打开素材图片之后直接复制原图。·接下来直接点击上方的图像,选择应用图像命令。·在通道这里直接选择红通道,混合这里直接选择柔光,然后点击确定。...

493 [PS调色]调模特通透肤色

效果对比:效果图吧:1、光位图:2、拍摄参数:·快门:160;光圈:8;ISO:1003、步骤分解图:用曲线调整图层调出基本色调。用可选颜色调整图层调整红色、黄色、白色和灰色4种颜色的混合比例。用色彩...

先选肤色再涂面部,卡戴珊的摄影师透露:为明星拍完照后怎么修图

据英国媒体12月17日报道,真人秀明星金·卡戴珊终于承认,她把女儿小北P进了家族的圣诞贺卡,怪不得粉丝们都表示这张贺卡照得非常失败。上周,这位39岁的女星遭到了一些粉丝针对这张照片的批评,她于当地时间...

如何在PS中运用曲线复制另一张照片的色调

怎样把另一张作品的外观感觉,套用到自己的照片上?单靠肉眼来猜,可能很不容易,而来自BenSecret的教学,关键是在PS使用了两个工具,让你可以准确比较两张照片的曝光、色调与饱和度,方便你调整及复制...

PS在LAB模式下调出水嫩肤色的美女

本PS教程主要使用Photoshop使用LAB模式调出水嫩肤色的美女,教程调色比较独特。作者比较注重图片高光部分的颜色,增加质感及肤色调红润等都是在高光区域完成。尤其在Lab模式下,用高光选区调色后图...

在Photoshop图像后期处理中如何将人物皮肤处理得白皙通透

我们在人像后期处理中,需要将人物皮肤处理的白皙通透,处理方法很多,大多数都喜欢使用曲线、磨皮等进行调整,可以达到亮但是不透,最终效果往往不是很好,今天就教大家一种如何将任务皮肤处理得白皙通透,希望能帮...

PS调色自学教程:宝宝照片快速调通透,简单实用!

PS调色自学教程:宝宝照片快速调通透。·首先复制图层,然后选择进入ACR滤镜,选择曲线锁定照片的亮部,也就高光位置,其他部位补亮一点,尤其是阴影的部位补亮多一些,让画面的层次均匀一点。·然后回到基本项...

【干货】如何利用PS进行人物美化

人物图像美化在Photoshop中非常常用,Photoshop作为一款功能强大的图像处理软件,不仅可以对人像进行基本的调色、美化和修复等处理,还可以改变人物的线条和幅度,如调整脸部器官和脸型的大小、调...

教大家一种可以快速把肤色处理均匀的方法@抖音短视频

快速把肤色处理均匀的方法。今天教大家一种可以快速把肤色处理均匀的方法。像这张照片整体肤色走紫红色,但是局部偏黄缘处理起来非常的麻烦。其实我们只需要新建空白图层,图层混合模式更改为颜色,再选择画笔工具把...

PS调色教程 利用RAW调出干净通透的肤色

要么不发,要么干货。后期教程来噜~用RAW调出干净通透的肤色。这次终于不会原片比PS后好看了吧。如果你依然这么觉得,请不要残忍的告诉我这个事实,泪谢TAT)附送拍摄花絮,感谢各位的支持更多风格请关注m...

photoshop后期皮肤变白的技巧

PS后期皮肤变白的技巧。1.PS后期让皮肤变白的方法有很多种,接下来教你一种非常简单容易上手的方法。2.打开素材图片之后,直接在小太极下拉框的位置添加一个纯色调整图层,颜色设置一个纯白色,点击...

Photoshop调出人物的淡雅粉嫩肤色教程

本教程主要使用Photoshop调出人物的淡雅粉嫩肤色教程,最终的效果非常的通透迷人,下面让我们一起来学习.出自:86ps效果图:原图:1、打开原图复制一层。2、用Topaz滤镜磨皮(点此下载)。3、...