主机安全加固之-openssh版本升级

升级openssh之前,为了保证能正常通过工具连接主机,咱们开启telnet服务,通过telnet的方式登录主机

一:开启telnet服务

1.安装telnet服务

[root@localhost ~]# yum install –y telnet telnet-server xinetd

2.修改telnet服务配置文件,重启服务

centos7.0配置文件为/etc/xinetd.conf,无需修改配合文件中disable,已被注释;
低版本centos配置文件为/etc/xinetd.d/telnet,修改disable=yes为,disable=no;
这样telnet服务就启动了
[root@localhost ~]# systemctl start telnet.socket
[root@localhost ~]# systemctl restart xinetd

3.通过telnet的方式登录主机验证一下
telnet验证不通过,需要修改/etc/pam.d/remote和/etc/pam.d/login注释掉第一行

[root@localhost ~]# vi /etc/pam.d/remote
#auth       required     pam_securetty.so
[root@localhost ~]# vi /etc/pam.d/login
#auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
重启xinetd服务
[root@localhost ~]# systemctl restart xinetd

修改完上面两处,重启完xinetd服务,登录验证通过
在这里插入图片描述

二:升级openssl服务

查看openssl服务的版本
[root@localhost ~]# openssl version
OpenSSL 1.0.2k-fips  26 Jan 2017
下载openssl程序安装包
[root@localhost openssh]# cd /usr/local/
[root@localhost local]# wget https://www.openssl.org/source/old/1.1.1/openssl-1.1.1t.tar.gz --no-check-certificate
--2024-01-31 05:35:39--  https://www.openssl.org/source/old/1.1.1/openssl-1.1.1t.tar.gz
Resolving www.openssl.org (www.openssl.org)... 34.36.58.177, 2600:1901:0:1812::
Connecting to www.openssl.org (www.openssl.org)|34.36.58.177|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 9881866 (9.4M) [application/x-tar]
Saving to: ‘openssl-1.1.1t.tar.gz’

100%[==========================================================================================================>] 9,881,866   2.77MB/s   in 3.4s

2024-01-31 05:35:44 (2.77 MB/s) - ‘openssl-1.1.1t.tar.gz’ saved [9881866/9881866]
解压
[root@localhost local]# tar -xf openssl-1.1.1t.tar.gz
[root@localhost local]# ls -ltr
total 9656
drwxr-xr-x.  2 root root       6 Apr 11  2018 src
drwxr-xr-x.  2 root root       6 Apr 11  2018 sbin
drwxr-xr-x.  2 root root       6 Apr 11  2018 libexec
drwxr-xr-x.  2 root root       6 Apr 11  2018 lib64
drwxr-xr-x.  2 root root       6 Apr 11  2018 lib
drwxr-xr-x.  2 root root       6 Apr 11  2018 include
drwxr-xr-x.  2 root root       6 Apr 11  2018 games
drwxr-xr-x.  2 root root       6 Apr 11  2018 etc
drwxrwxr-x. 19 root root    4096 Feb  7  2023 openssl-1.1.1t
drwxr-xr-x.  5 root root      49 Oct 13 14:48 share
-rw-r--r--.  1 root root 9881866 Dec  4 09:38 openssl-1.1.1t.tar.gz
drwxr-xr-x. 12 root root     198 Jan 15 04:59 nginx
drwxr-xr-x.  2 root root      28 Jan 15 08:42 bin
编译安装openssl
[root@localhost local]# cd openssl-1.1.1t
[root@localhost openssl-1.1.1t]# ./config shared --prefix=/usr/local/openssl
[root@localhost openssl-1.1.1t]# make -j 4
[root@localhost openssl-1.1.1t]# make install
为openssl做软连接
[root@localhost openssl-1.1.1t]# echo "/usr/local/openssl/lib/" >> /etc/ld.so.conf
[root@localhost openssl-1.1.1t]# ldconfig
[root@localhost openssl-1.1.1t]#
备份以前的openssl
[root@localhost openssl-1.1.1t]# mv /usr/bin/openssl /usr/bin/openssl.old
软连接,如果提示软连接已存在,记得备份软连接,然后在执行下面再次软连接,要不然会出问题
[root@localhost openssl-1.1.1t]# ln -sv /usr/local/openssl/bin/openssl /usr/bin/openssl
‘/usr/bin/openssl’ -> ‘/usr/local/openssl/bin/openssl’
[root@localhost openssl-1.1.1t]# ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
[root@localhost openssl-1.1.1t]# ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
验证一下openssl是否更新成功
[root@localhost openssl-1.1.1t]# openssl version
OpenSSL 1.1.1t  7 Feb 2023

三:升级openssh服务

查看、备份并卸载原有OpenSSH
[root@localhost ~]# ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017
备份现有的SSH
[root@localhost ~]# mv /etc/ssh/ /etc/ssh.bak
[root@localhost ~]# mv /usr/bin/ssh /usr/bin/ssh.bak
[root@localhost ~]# mv /usr/sbin/sshd /usr/sbin/sshd.bak
如果您是第一次升级,备份/etc/init.d/sshd时会不存在,不影响后续操作
[root@localhost ~]# mv /etc/init.d/sshd /etc/init.d/sshd.bak
mv: cannot stat ‘/etc/init.d/sshd’: No such file or directory
卸载现有OpenSSH
[root@localhost ~]# rpm -qa | grep openssh
openssh-server-7.4p1-22.el7_9.x86_64
openssh-7.4p1-22.el7_9.x86_64
openssh-clients-7.4p1-22.el7_9.x86_64
[root@localhost ~]# rpm -e --nodeps $(rpm -qa |grep openssh)
下载openssh服务的二进制包
[root@localhost ~]# cd /usr/local/
[root@localhost local]# wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.3p1.tar.gz
[root@localhost local]# tar -xf openssh-9.3p1.tar.gz
[root@localhost local]# cd openssh-9.3p1
编译安装
[root@localhost openssh-9.3p1]# CCFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib64" ./configure --sysconfdir=/etc/ssh --with-zlib --with-ssl-dir=/usr/local/openssl
[root@localhost openssh-9.3p1]# make -j 4
[root@localhost openssh-9.3p1]# make install
[root@localhost openssh-9.3p1]# chmod 600 /etc/ssh/*
复制配置文件
root@localhost openssh-9.3p1]# cp -rf /usr/local/sbin/sshd /usr/sbin/sshd
[root@localhost openssh-9.3p1]# cp -rf /usr/local/bin/ssh /usr/bin/ssh
[root@localhost openssh-9.3p1]# cp -rf /usr/local/bin/ssh-keygen /usr/bin/ssh-keygen
[root@localhost openssh-9.3p1]# cp -ar /usr/local/openssh-9.3p1/contrib/redhat/sshd.init /etc/init.d/sshd
[root@localhost openssh-9.3p1]# cp -ar /usr/local/openssh-9.3p1/contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
修改配置允许root用户远程登录
[root@localhost openssh-9.3p1]# cat >>/etc/ssh/sshd_config<<EOF
> PermitRootLogin yes
> X11Forwarding yes
> PasswordAuthentication yes
> KexAlgorithms diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group1-sha1,curve25519-sha256@libssh.org
> EOF
[root@localhost openssh-9.3p1]# sed -i "s/^#Port/Port/g" /etc/ssh/sshd_config
[root@localhost openssh-9.3p1]# chmod 755 /etc/init.d/sshd
启用sshd,生成服务配置文件,并重启服务
[root@localhost openssh-9.3p1]# systemctl enable sshd
sshd.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig sshd on
[root@localhost openssh-9.3p1]# systemctl restart sshd
[root@localhost openssh-9.3p1]# ssh -V
OpenSSH_9.3p1, OpenSSL 1.1.1t  7 Feb 2023

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/366206.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Multisim14.0仿真(四十一)交通信号灯仿真设计

一、功能简介&#xff1a; 1&#xff09;、采用两片74LS192做减法计数器&#xff0c;实现倒计时功能。 2&#xff09;、采用DCD数码管显示时间。 3&#xff09;、采用4个TRAFFIC_LIGHT_SINGLE红绿灯 4&#xff09;、采用74LS160和74LS138实现对红绿灯的逻辑控制。 5&#xff09…

【cmu15445c++入门】(5)C++ 包装类(管理资源的类)

一、背景 c包装类 二、运行代码 // A C wrapper class is a class that manages a resource. A resource // could be memory, file sockets, or a network connection. Wrapper classes // often use the RAII (Resource Acquisition is Initialization) C // programming…

printf死翘翘

本来想把我的单片机玩一下&#xff0c;寄给在大学搞研究的一个朋友&#xff0c;但竟然挂在printf里面&#xff0c;大概知道是什么位置出问题&#xff0c;但是还想不清楚什么原因。 我先是在stc51单片机里面搞了串口&#xff0c;然后我想用串口重定向到printf做调试&#xff0c;…

深度学习实战70-数学教材智能问答MathGPT模型与题目latex的pdf生成技术

大家好,我是微学AI ,今天给大家介绍一下深度学习实战70-数学教材智能问答MathGPT模型与题目latex的pdf生成技术,本文利用MathGPT数学大模型实现的数学教材智能问答系统。该系统结合了自然语言处理和数学知识图谱,能够理解用户的数学问题,并提供准确的答案和解析,随时随地请…

Linux系统中的容器化技术

当谈到容器化技术时&#xff0c;Docker和Kubernetes是两个最为知名和广泛使用的工具。它们在Linux系统中发挥着重要的作用&#xff0c;为应用程序的部署、管理和扩展提供了强大的工具和框架。 首先&#xff0c;让我们来了解一下什么是容器化技术。容器化技术是一种虚拟化技术&a…

网络原理-TCP/IP(4)

TCP原理 滑动窗口 之前我们讲过了确认应答策略,对发送的每一个数据段,都要给一个ACK确认应答,收到ACK后再发送下一个数据段. 确认应答,超时重传,连接管理这样的特性都是为了保证可靠运输,但就是付出了传输效率(单位时间能传输数据的多少)的代价,因为确认应答机制导致了时间大…

基于 SpringBoot+Vue 的大学生租房系统

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

Linux 路由配置与使用

概念 路由信息用于指导数据包从源地址查找到目的地址传输路径的信息&#xff1b; 路由分类 根据路由信息的来源分为静态路由和动态路由 静态路由 由管理员手动配置的路由表项信息&#xff0c;根据路由形式的不同&#xff0c;静态路由又可细分为&#xff1a; 直连路由&#xf…

二叉树(1)

1 树概念及结构 1.1树的概念 树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点组成一个具有层次关系的集合。 把它叫做树是因为它看起来像一棵倒挂的树&#xff0c;也就是说它是根朝上&#xff0c;而叶朝下的。 有一个特殊的结点&a…

AI数字人训练数据集汇总

唇读&#xff08;Lip Reading&#xff09;&#xff0c;也称视觉语音识别&#xff08;Visual Speech Recognition&#xff09;&#xff0c;通过说话者口 型变化信息推断其所说的内容&#xff0c;旨在利用视觉信道信息补充听觉信道信息&#xff0c;在现实生活中有重要应用。例如&…

【文件上传WAF绕过】<?绕过、.htaccess木马、.php绕过

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【python】 【VulnHub靶场复现】【面试分析】 &#x1f389;点赞➕评论➕收藏…

【MATLAB源码-第128期】基于matlab的雷达系统回波信号仿真,输出脉压,MTI,MTD等图像。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 ​雷达&#xff08;Radio Detection and Ranging&#xff09;是一种使用无线电波来探测和定位物体的系统。它的基本原理是发射无线电波&#xff0c;然后接收这些波从目标物体上反射回来的信号。通过分析这些反射波&#xff0…

Day 17------C语言收尾之链表的删除、位运算、预处理、宏定义

链表 空链表&#xff1a; 注意&#xff1a;函数不能返回局部变量的地址 操作&#xff1a; 1.创建空链表 2.头插 3.尾插 4.链表遍历 5.链表的长度 free&#xff1a;释放 删除&#xff1a; 头删 void popFront(struct Node *head) { //1.p指针变量指向首节点 //2.断…

人工智能深度学习发展历程-纪年录

前言 为了理解模型之间的改进关系、明确深度学习的发展目标、提高自身对模型的深度理解、贯彻爱与和平的理念。总之&#xff0c;我做了如下表格。 时间 重大突破 模型改进 详细信息 1847 SGD 随机梯度下降 1995 SVM 支持向量机 1982 RNN 循环神经网络&#xff0c;…

Kimera2: 面对真实路况中强大且具有准确尺度的语义SLAM

文章:Kimera2: Robust and Accurate Metric-Semantic SLAM in the Real World 作者:Marcus Abate , Yun Chang , Nathan Hughes , and Luca Carlone 编辑:点云PCL 欢迎各位加入知识星球,获取PDF论文,欢迎转发朋友圈。文章仅做学术分享,如有侵权联系删文。 公众号致力于…

基于STM32的DMA在外设数据交换中的应用案例

如何使用STM32的DMA在外设数据交换中实现高效的数据传输呢&#xff1f;下面&#xff0c;我将提供一个应用案例&#xff0c;涉及使用STM32的DMA在UART外设和内存之间进行数据传输的示例。 ✅作者简介&#xff1a;热爱科研的嵌入式开发者&#xff0c;修心和技术同步精进 ❤欢迎关…

Qt/C++音视频开发65-切换声卡/选择音频输出设备/播放到不同的声音设备/声卡下拉框

一、前言 近期收到一个用户需求&#xff0c;要求音视频组件能够切换声卡&#xff0c;首先要在vlc上实现&#xff0c;于是马不停蹄的研究起来&#xff0c;马上查阅对应vlc有没有自带的api接口&#xff0c;查看接口前&#xff0c;先打开vlc播放器&#xff0c;看下能不能切换&…

undo log 和 redo log的区别

undo log 和 redo log的区别 缓冲池&#xff08;Buffer Pool&#xff09;是MySQL用于存储数据页的内存区域&#xff0c;它用于减少对磁盘的读写操作&#xff0c;提高数据库的访问速度。在MySQL中&#xff0c;数据被分为多个固定大小的数据页&#xff08;通常为16KB&#xff09…

【Golang入门教程】如何使用Goland创建并运行项目

自然语言处理的发展 文章目录 自然语言处理的发展**前言**创建新项目编辑运行/调试配置编写并运行代码总结强烈推荐专栏集锦写在最后 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站: 人工…

算法篇之二分

二分算法简介 特点 最简单的一种算法&#xff0c;也是最恶心&#xff0c;细节最多&#xff0c;最容易写出死循环的算法时间复杂度O(logN) 如何学习 明白其中的算法原理&#xff0c;二分并不是只有数组有序的的时候使用&#xff0c;而是看是否具有二段性。模板 朴素的二分模…