CentOS系统配置及ssh升级

Cent安装及配置

如图,我们是在vmware workstation上面实现虚拟机的使用,所以先下载好最新版本的VMware实现配置

然后是Centos的安装配置,如图建立新的虚拟机

然后是改选稍后安装操作系统,点击下一步

选择LInux系统,然后选择要的CentOs系统版本,我下载的是7.6的镜像版本,所以这里选择CentOs 7的版本。

这里看个人选择,一般20就够用了。

一切调试好后在这个界面使用Iso映像文件,也就是自己下载好的镜像iso文件,注意文件后缀。

进入系统安装界面后,对着install centos7点enter后进入到下面的界面

再按要求完成安装位置,软件选择,语言等设置,注意,如果想要有虚拟机的操作界面也就是如图的界面就选择GNOME桌面,如果选择最小安装,启动系统就是只有一个终端,对后续的安装和查看文件有许多不方便。

然后注册好用户等信息就可以使用CentOs系统了。

升级openssh和openssl操作

Centos7都自带一个OpenSSH7.4p1,算是个祸害。只要这东西没卸载就会被漏扫发现。

先配置好需要的解压文件

OpenSSL官网 下载页

OpenSSH官网 OpenSSH最新发行版 点击最新版本,进入发行说明书 校验 找到SHA校验,随便点一个文件名链接就能下载源码。

Perl官网 Perl下载 找到Unix,下载源码。下载源码不需要登录,直接就能下。

Zlib官网 Zlib官网 点击Zlib最新版本链接,就能直接拿到最新版源码,点这里的链接也行。

首先将上面下载好的文件都拖入到系统内的/www目录内方便操作。

配置过程

  • perl

Perl是文本处理语言,它最初就是为了这个目的设计的。 Perl是网络编程语言,它内置了socket/client-server协议。 Perl是系统管理语言,全球网络很多服务器上就运行着它的脚本。很多时候是单行的脚本。 Perl是Web脚本编写语言。至今它仍然是最流行的几种web脚本编写语言之一。

如果系统已经有了环境比较齐全的Perl,可以跳过此步骤,如果不知道有没有,或者不知道环境齐不齐全,统一当作没有,不跳过此步骤

cd /www
tar -zxvf perl.tar.gz
#cd到解压出来的目录中,解压出来是啥就cd到啥地方,这里解压出来的目录就是perl-5.38.2
cd perl-5.38.2/

配置,安装perl

#配置安装目录为/usr/local/perl,有需要可以自行选择其他目录
./Configure -des -Dprefix=/usr/local/perl
#编译
make
#安装
make install

如图没有报错则安装完毕

配置环境变量,把刚刚安装完毕的Perl配置到系统变量中

#如果没有nano,也可以用别的,比如vi、vim都可以,反正是个文本,能编辑就随意
nano ~/.bash_profile
​

在文件最末尾增加一行

#这里的/usr/local/perl是上面配置的安装目录,如果配置了别的安装目录可以自行修改
#但是后面的/bin是固定的
export PATH=/usr/local/perl/bin:$PATH
​
​
#刷新环境变量
source ~/.bash_profile
#查看Perl版本
perl -v
​

显示的版本号与自己下载的版本号一致,就算安装配置Perl完成

  • zlib

zlib(压缩库)是一个开源的、跨平台的数据压缩库,用C语言编写。它提供了一组用于压缩和解压缩数据的函数,广泛用于许多应用程序和系统中。zlib 的设计目标是提供高效的压缩和解压缩算法,同时保持简单易用。

#解压文件
tar -zxvf zlib.tar.gz
cd zlib-1.3.1/
#配置安装目录,有需要的可以自行更改
./configure --prefix=/usr/local/zlib
#编译
make
#安装
make install

安装完毕后,开始配置环境变量

nano ~/.bash_profile
​
//文件末尾添加下行
export LD_LIBRARY_PATH=/usr/local/zlib/lib:$LD_LIBRARY_PATH
​
//刷新缓存
source ~/.bash_profile
​
//运行以下命令
ls /usr/local/zlib

如果有输出include、lib、share文件夹,就算安装完成了(实际上不算,得编译一下使用zlib头文件的代码才行,这里是基础教程,只要输出了这三个文件夹名称问题就不大)

  • Openssl

OpenSSL 是开源的程序套件,该套件由三部分组成:

libcrypto:具有通用功能的加密库,里面包含众多加密算法
​
libssl:实现 SSL/TLS 功能
​
openssl:多功能的命令行工具,可以实现加密、解密、自建 CA、创建证书、吊销证书等功能

先解压,配置,安装

#解压文件
tar -zxvf openssl.tar.gz
cd openssl-3.2.1
#配置安装目录,有需要的可以自行更改
./config --prefix=/usr/local/openssl
#编译
make
#安装
make install

再配置环境变量

#如果没有nano,也可以用别的,比如vi、vim都可以,反正是个文本,能编辑就随意
nano ~/.bash_profile
​
//文件末尾加下面两行
export PATH=/usr/local/openssl/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/openssl/lib64:$LD_LIBRARY_PATH
​
//刷新缓存
source ~/.bash_profile
ldconfig

查看版本正常的话,OpenSSL就算安装完成了

  • Openssh

OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现。SSH协议族可以用来进行远程控制, 或在计算机之间传送文件。而实现此功能的传统方式,如telnet(终端仿真协议)、 rcp ftp、 rlogin、rsh都是极为不安全的,并且会使用明文传送密码。OpenSSH提供了服务端后台程序和客户端工具,用来加密远程控件和文件传输过程中的数据,并由此来代替原来的类似服务。

先解压,配置,安装

#解压文件
tar -zxvf openssh.tar.gz
cd openssh-9.7p1
#配置安装目录,OpenSSH安装在/usr/local/openssh,配置文件放在/etc/ssh,指定刚刚安装的OpenSSL目录
./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl --with-zlib=/usr/local/zlib
#编译
make
#安装
make install

再配置环境变量

#如果没有nano,也可以用别的,比如vi、vim都可以,反正是个文本,能编辑就随意
nano ~/.bash_profile
​
//文件末尾加一行
export PATH=/usr/local/openssh/bin:$PATH
​
//刷新环境变量
source ~/.bash_profile
​

最后查看版本

新安装的OpenSSH不允许root用户登录,没有x11转发,图形不好用等,需要配置

nano /etc/ssh/sshd_config
​
​
//加下面行
X11Forwarding yes
X11UseLocalhost no
XAuthLocation /usr/bin/xauth
UseDNS no
PermitRootLogin yes
PubkeyAuthentication yes
PasswordAuthentication yes
Subsystem sftp /usr/local/openssh/libexec/sftp-server
​

增加完毕后保存退出即可

然后启动OpenSSh

由于我们系统自带了一个OpenSSH7.4p1和OpenSSL1.0.2k,OpenSSH比较特殊、所以无论是安没安装新版本,都会被扫到,所以这里我们要卸载掉系统自带的 首先卸载OpenSSH

//删除openssh和openssl
yum remove openssh
yum remove openssl
//检查是否删除干净
rpm -qa | grep openssh
rpm -qa | grep openssl

不出意外的话,运行rpm -qa | grep openssl的时候,会出现两个包没被卸载掉,有其他软件依赖他,因为是教程,所以这两个不影响楼栋扫描的包,就不处理了。

接下来就要启动新的OpenSSH,由于我们已经把OpenSSH卸载掉了,所以服务肯定是没了,我们要创建新的服务

#创建一个服务用于启动sshd
nano /etc/systemd/system/sshd.service
​
//在新创建的service中粘贴以下配置
[Unit]
Description=OpenSSH server daemon
After=network.target
​
[Service]
ExecStart=/usr/local/openssh/sbin/sshd -D
ExecReload=/bin/kill -HUP $MAINPID
Environment="LD_LIBRARY_PATH=/usr/local/openssl/lib64:/usr/local/zlib/lib"
KillMode=process
Restart=on-failure
​
[Install]
WantedBy=multi-user.target
​

粘贴完成之后保存即可,保存完成之后就可以启动了。

​
#刷新所有service
sudo systemctl daemon-reload
#启动sshd服务
sudo systemctl restart sshd
#查看sshd服务状态
sudo systemctl status sshd

出现下图则启动成功

后期服务

该教程是OpenSSL3.X的胎教级教程,不适用1.1,并非标准教程,但是完全避免了使得sshd服务停止运行而导致ssh连接断开,去沟通vnc介入,非常麻烦,深有体会。 该教程没有覆盖原本的OpenSSH,而是在其他文件夹自己放了一个,通过系统变量让系统连接,这么做非常干净,没有留下一点污染。 因此,如果未来不用这篇教程里面的东西了,就可以按照以下步骤,完全彻底清理掉本次安装的东西。

//删除环境变量
nano ~/.bash_profile

//删除以下几行
export PATH=/usr/local/perl/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/zlib/lib:$LD_LIBRARY_PATH
export PATH=/usr/local/openssl/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/openssl/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/openssh/bin:$PATH

//保存刷新
source ~/.bash_profile

//删除安装目录
rm -rf /usr/local/openssl
rm -rf /usr/local/openssh
rm -rf /usr/local/zlib
rm -rf /usr/local/perl


//删除服务和配置
rm -rf /etc/systemd/system/sshd.service
rm -rf /etc/ssh

结束!

  • 22
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值