升级OpenSSH版本(安装telnet远程管理主机)

目录

一、OpenSSH是什么

二、升级OpenSSH至8.9版本

1、环境介绍

2、检查是否安装telnet

3、安装telnet

4、启动telnet服务

5、安全文件关闭或者修改(否则root无法telnet登录)

6、安装依赖包

7、备份原有SSH服务版本

8、下载OpenSSH升级所需安装包

9、删除现有的安装SSH的相关软件包

10、上传并解压安装压缩包

11、查看SSH命令的执行路径

12、复制源码解压路径的开机启动脚本

13、修改开机启动文件

14、修改配置文件,允许root用户通过ssh远程登录 

15、复制文件到/usr/local/bin/下,增加执行权限

16、启动sshd服务并验证更新是否成功


一、OpenSSH是什么

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

SSH协议有两个版本:
        v1:基于CRC-32 做MAC,不安全; (一般用于实现主机认证)
        v2:基于协议协商选择双方都支持的最安全的MAC机制
            基于DH做密钥交换,基于RSA或DSA实现身份认证,从而实现无需输入账号密码
            客户端通过检查服务器端的主机秘钥来判断是否能够继续通信;
认证方式:
        1、基于口令的认证
        2、基于密钥的认证

为什么要使用OpenSSH:

    由于传统的telnet、rcp ftp等工具是明文传输数据的,对数据安全性存在很大的安全隐患,而OpenSSH可以对传输的数据进行加密从而大大提高了数据的安全性

二、升级OpenSSH至8.9版本

1、环境介绍

升级版本原因:OpenSSH有严重漏洞,因此要升级到最新版本

首先查看ssh版本

ssh -V  ##查看当前版本

关闭防火墙及核心防护

systemctl stop firewalld
setenforce 0
#关闭防火墙

2、检查是否安装telnet

为了防止升级安装失败,无法使用ssh做远程连接,因此先安装telnet预防

rpm -q telnet-server   ##telnet服务端
rpm -q telnet          ##telnet客户端

3、安装telnet

yum install telnet-server  -y
yum install telnet -y
 
或者
yum install telnet* -y 

4、启动telnet服务

systemctl start telnet.socket
systemctl enable telnet.socket
systemctl status telnet.socket
ss -natp |grep 23

5、安全文件关闭或者修改(否则root无法telnet登录)

默认情况下,系统是不允许root用户telnet远程登陆的,如果要使用root用户直接登录,需设置以下内容。或者可以添加一个可以登录的用户,登录并su到root用户

mv /etc/securetty /etc/securetty.bak
 
或者
echo 'pts/0' >>/etc/securetty
echo 'pts/1' >>/etc/securetty

6、安装依赖包

yum -y install zlib*
 
yum -y install pam-*
 
yum -y install gcc
 
yum -y install openssl-devel

7、备份原有SSH服务版本

首先寻找它的路径

whereis ssh

mv /etc/ssh /etc/ssh.bak
mv /usr/bin/ssh /usr/bin/ssh.bak
mv /usr/sbin/sshd /usr/sbin/sshd.bak

8、下载OpenSSH升级所需安装包

官方下载地址:Index of /pub/OpenBSD/OpenSSH/portable/

https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.9p1.tar.gz

或是阿里云镜像站下载

https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/

9、删除现有的安装SSH的相关软件包

rpm -e `rpm -qa | grep openssh` --nodeps

10、上传并解压安装压缩包

#切换目录,上传压缩包
cd /opt
rz -E
 
#解压
tar -zxvf openssh-8.9p1.tar.gz
 
#编译安装
cd openssh-8.9p1


./configure --sysconfdir=/etc/ssh   ##使用

===========================================================================================
./configure \
--prefix=/usr/local/openssh \
--with-zlib=/usr/local/zlib \
--with-ssl-dir=/usr/local/ssl

或是
./configure --prefix=/usr/local/openssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/ssl
===========================================================================================

#安装
make && make install

11、查看SSH命令的执行路径

which sshd

12、复制源码解压路径的开机启动脚本

cp /opt/openssh-8.9p1/contrib/redhat/sshd.init /etc/init.d/sshd

ls /etc/init.d/

13、修改开机启动文件

sed -i '25cSSHD=/usr/local/sbin/sshd' /etc/init.d/sshd
sed -i '41c/usr/local/bin/ssh-keygen -A' /etc/init.d/sshd

14、修改配置文件,允许root用户通过ssh远程登录 

sed -i "/#PermitRootLogin prohibit-password/c\PermitRootLogin yes" /etc/ssh/sshd_config

15、复制文件到/usr/local/bin/下,增加执行权限

cp /opt/openssh-8.9p1/contrib/ssh-copy-id /usr/local/bin/
chmod +x /opt/openssh-8.9p1/contrib/ssh-copy-id

16、启动sshd服务并验证更新是否成功

#启动
service sshd start
 
#查看版本号
ssh -V

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值