说明:

操作系统:CentOS 7.2 x86_64

虚拟机软件:VMware Workstation 15 Pro

升级openssl版本:openssl-1.1.1g

升级openssh版本:openssh-8.3p1


查看当前openssh版本

ssh -V

添加镜像文件

查看镜像位置

df -l

创建镜像挂载点

mkdir /mnt/cdrom

挂载镜像文件到/mnt/cdrom

mount /dev/sr0 /mnt/cdrom

查看镜像是否成功挂载

df -l

修改yum源为本地源,进入/etc/yum.repos.d/目录下,将目录下所有文件删除,新建一个local.repo的文件

删除目录下所有文件

rm -rf *

新建local.repo文件

vim local.repo

local.repo文件内容,如下:

[local]
name=CentOS7u2    #名称
baseurl=file:///mnt/cdrom    #镜像挂载点
enabled=1
gpgcheck=0

生成本地yum缓存

清除缓存

yum  clean all
建立新缓存
yum makecache
测试yum源是否生效
yum install telnet

安装依赖包

yum install gcc pam pam-devel openssl-devel perl zlib zlib-devel gcc-c++

查看依赖包是否安装,如果有显示,说明已安装,如下图所示
rpm -qa | grep telnet

开启xinetd

systemctl start xinetd

查看状态

systemctl status xinetd
设置开机启动
systemctl enable xinetd
启动telnet
systemctl start telnet.socket

查看状态

systemctl status telnet.socket
设置开机启动
systemctl enable telnet.socket

默认情况下,telnet是不允许root登录的。

执行命令:
echo "pts/0" >> /etc/securetty
echo "pts/1" >> /etc/securetty

关闭selinux

vim /etc/selinux/config

将selinux设置为disable
SELINUX=disabled

重启操作系统

reboot

查看防火墙状态

systemctl  status firewalld

关闭防火墙

systemctl stop firewalld

或者对telnet端口23放开

firewall-cmd --zone=public --add-port=23/tcp --permanent

重新加载firewall-cmd

firewall-cmd --complete-reload

保存防火墙规则

service iptables save

查询是否开启端口

firewall-cmd --query-port=23/tcp

编辑pam配置文件,以便telnet允许root登录。

vim /etc/pam.d/login
注释:在需要注释的内容前面加#
#auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so

编辑配置文件

vim  /etc/pam.d/remote

注释:在需要注释的内容前面加#

#auth      required    pam_securetty.so

重启xinetd,telnet服务

systemctl restart xinetd
systemctl restart telnet.socket

从其他服务器利用telnet测试登录

输入操作系统用户名和密码后,成功通过telnet登录


升级OpenSSL

查看已安装openssl文件
rpm -qa | grep openssl

上传openssl安装包openssl-1.1.1g.tar.gz到/mnt/sot

mkdir /mnt/soft

cd /mnt/soft/

解压openssl安装包

tar -zxvf openssl-1.1.1g.tar.gz

卸载openssl包

for i in $(rpm -qa |grep openssl);do rpm -e $i --nodeps ;done

进入openssl-1.1.1g目录

cd openssl-1.1.1g/

执行编译安装

./config shared

make && make install

输出配置到文件

echo "/usr/local/ssl/lib" >> /etc/ld.so.conf

扫描软链接

ldconfig /etc/ld.so.conf

查看升级后的openssl版本,是否为openssl-1.1.1g

openssl version -a

此处报错,执行建立软链接

ln -sf /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -sf /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

再次执行openssl version -a,openssl版本已升级到openssl-1.1.1g


升级OpenSSH

上传openssh-8.3p1.tar.gz文件到/mnt/soft目录

解压

tar -zxvf openssh-8.3p1.tar.gz
进入目录
cd openssh-8.3p1/
查看原openssh
rpm -qa | grep openssh

卸载原openssh

for i in $(rpm  -qa |grep openssh);do rpm -e $i --nodeps ;done

编译openssh

./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords--with-pam --with-tcp-wrappers  --with-ssl-dir=/usr/local/ssl  --without-hardening

删除原ssh配置目录

cd /etc/ssh/
rm  -rf  *

安装

cd /mnt/soft/openssh-8.3p1/
make   &&   make  install

安装后环境配置
cp  ./contrib/redhat/sshd.init  /etc/init.d/sshd
添加执行权限
chmod +x /etc/init.d/sshd
添加开机启动
chkconfig --add sshd
查找开机启动项
chkconfig --list|grep sshd
查看版本
ssh  -V
修改配置文件
vim /etc/ssh/sshd_config
去掉58行注释
PasswordAuthentication yes
59行增加
PermitRootLogin yes
重启sshd服务
systemctl restart  sshd


注意:

如果升级完,别关当前窗口,使用xshell新建会话,弹出以下错误:

服务器发送了一个意外的数据包。received: 3,expected: 20
编辑shd_config文件
vim /etc/ssh/sshd_config
添加
KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group14-sha1
重启sshd服务
systemctl restart  sshd

使用xshell新建会话,已能正常连接

重启操作系统,再次执行ssh -V

reboot
ssh -V

openssl和openssh都已升级到需要升级的版本



点赞(0) 打赏

Comment list 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部