CentOS6、7升级Openssh至7.9
出于安全考虑,定期使用Nessus对服务器进行扫描,最新Nessus提示服务器的SSH版本有漏洞,所以把SSH升级到最新版本
1、为了防止升级失败登陆不了,所以需要安装telnet
mkdir /root/ssh_update
yum install -y telnet-server
yum install -y xinetd
centos6:
sed -i '/disable/s/yes/no/' /etc/xinetd.d/telnet
service xinetd start
检查下23端口,证明telnet服务已经运行了
centos7:
systemctl start telnet.socket
systemctl start xinetd
注意:
默认情况下,系统是不允许root用户telnet远程登录的。如果要使用root用户直接登录,需设置如下内容。或者可以添加一个可以登录的用户,登录并su到root用户。
echo 'pts/0' >>/etc/securetty
echo 'pts/1' >>/etc/securetty
centos6:
service xinetd restart
centos7:
systemctl restart telnet.socket
验证telnet(默认是23端口):
telnet 127.0.0.1
2、检查环境
官方给出的文档中提到的先决条件openssh安装依赖zlib1.1.4并且openssl>=1.0.1版本就可以了。那么直接看当前系统的openssl版本是多少
openssl version
rpm -q zlib
rpm -q zlib-devel
ps:没有问题,版本不需要升级
# 安装相关组件并升级openssh:
yum install -y gcc openssl-devel pam-devel zlib zlib-devel
# 备份原来的数据
mv /etc/ssh/ /mnt/ssh.bak
# 删除现在安装sshd相关软件包
rpm -e `rpm -qa | grep openssh` --nodeps
3、下载需要的源码包并升级openssh:
# 下载openssh7.9的源码包
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.9p1.tar.gz
(已镜像到个人服务器,如项目服务器无法连接外国网站,从服务器下载,地址:http://172.81.248.135/download/openssh-7.9p1.tar.gz)
tar xf openssh-.9p1.tar.gz
cd openssh-.9p1
# 编译sshd
./configure --sysconfdir=/etc/ssh
# 安装sshd
make && make install
# 查看下ssh命令的执行路径
[root@localhost ~]# which sshd
/usr/local/sbin/sshd
# 复制源码解压路劲的开机启动脚本
cp /root/ssh_update/openssh-.9p1/contrib/redhat/sshd.init /etc/init.d/sshd
# 修改开机启动文件
sed -i '25cSSHD=/usr/local/sbin/sshd' /etc/init.d/sshd
sed -i '41c/usr/local/bin/ssh-keygen -A' /etc/init.d/sshd
# 修改配置文件,允许root通过ssh远程登陆
sed -i "/#PermitRootLogin prohibit-password/aPermitRootLogin yes" /etc/ssh/sshd_config
# 复制文件到/usr/local/bin/下
cp /root/ssh_update/openssh-.9p1/contrib/ssh-copy-id /usr/local/bin
chmod +x ssh-copy-id
# 启动sshd服务
service sshd start
chkconfig sshd on
# 查看下ssh版本
[root@localhost ~]# ssh -V
OpenSSH_7.9p1, OpenSSL 1.0.1e-fips Feb
OpenSSH 8.0 发布了,此版本缓解了 scp(1) 工具和协议漏洞 CVE-2019-6111,该漏洞此前我们之前报导过:知名文件传输协议 SCP 被曝存在 35 年历史的安全漏洞。
将文件从远程系统复制到本地目录时,SCP 客户端无法验证 SCP 服务器返回的对象是否与请求的东西一致,这使得攻击者可以使用恶意服务器控制的内容创建或破坏本地文件。
OpenSSH 8.0 的缓解措施添加了客户端检查,查看从服务器发送的文件名与命令行请求是否匹配。
SCP 协议已经过时,不灵活且不易修复,OpenSSH 官方建议使用更现代的协议进行文件传输,如 sftp 和 rsync。
此版本新特性包括:
ssh(1)、ssh-agent(1)、ssh-add(1):PKCS#11 token 中添加对 ECDSA 密钥的支持。
ssh(1)、sshd(8):基于 Streamlined NTRU Prime 4591^761 和 X25519 的组合,添加实验性量子计算抗性密钥交换方法。
ssh-keygen(1):将默认 RSA 密钥大小增加到 3072 位。
ssh(1):允许“PKCS11Provider = none”覆盖 ssh_config 中 PKCS11Provider 指令的后续实例。
ssh(1):提示是否录制新主机密钥时,输入密钥指纹作为“yes”。
ssh-keygen(1):在单个命令行调用上签名多个证书时,允许自动递增证书序列号。
scp(1)、sftp(1):接受 -J 选项作为 scp 和 sftp 命令行上 ProxyJump 的别名。
ssh-agent(1)、ssh-pkcs11-helper(8)、ssh-add(1):接受“-v”命令行标志以增加输出的详细程度;将详细标志传递给子进程,例如从 ssh-agent 启动的 ssh-pkcs11-helper。
ssh-add(1):添加“-T”选项以允许通过执行签名和验证来测试代理中的密钥是否可用。
sshd(8):在 PAM 环境中暴露 $SSH_CONNECTION。
完整更新内容查看更新日志:
http://www.openssh.com/txt/release-8.0
CentOS6、7升级Openssh至7.9的更多相关文章
- Centos6.5升级openssh至7.4版本
一,备份配置文件,以备升级失败进行回退 二,下载安装包 wget http://www.zlib.net/zlib-1.2.11.tar.gz wget https://openbsd.mirror. ...
- Centos6.5升级openssh、OpenSSL和wget
1.OpenSSL 1.1.查看版本 使用如下命令查看版本: openssl version 1.2.安装gcc依赖 yum -y install gcc gcc-c++ 1.3.安装配置 ./con ...
- centos6.5升级openssh至7.9p1
环境说明系统环境:centos 6.5 x64 openssh-5.3p1升级原因:低版本openssh存在漏洞升级目标:openssh-7.9p1 检查环境官方文档中提到的先决条件openssh安装 ...
- centos6升级openssh至7.9
1.为了防止升级失败登陆不了,所以需要安装telnet mkdir /root/ssh_updateyum install -y telnet-serveryum install -y xinetd ...
- Centos6.5 离线 Openssh 升级
目录 OpenSSH 升级 一.基于 Dropbear 设置备用 ssh 服务器 二. Openssh 更新 2.1 ssh配置 备份 2.2 openssh 升级 Openssl 升级(由于Open ...
- CentOS6.5升级为CentOS7.0
CentOS6.5升级为CentOS7.0 CentOS6.5升级为CentOS7 升级前: [root@localhost ~]# cat /proc/version Linux version ...
- centos升级openssh的两种方式
此文介绍的是服务器在有网络和无网络情况下升级openssh方式. 一.首先介绍一个无网络如何升级: 1.准备相关的包 openssh下载地址: http://mirror.internode.on. ...
- CentOS 6.9 升级OpenSSH版本 关闭ssh服务后门
最近用低版本的OpenSSH(5.9p1版本) 的漏洞给系统留了个后门 , 可以劫持root密码或者给root开启后门密码 : 利用Openssh后门 劫持root密码 如果公司还在用CentOS6的 ...
- 升级openssh踩得坑
升级背景: 项目中使用的系统为CentOS6.8,经过漏洞扫描后发现openssh高危漏洞,具体描述如下:OpenSSH 7.2p2之前版本, sshd/ session.c/ do_setup_en ...
随机推荐
- Flex 布局是什么?
Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性. 任何一个容器都可以指定为 Flex 布局.大理石平台价格 .box{ displ ...
- BZOJ 1923: [Sdoi2010]外星千足虫 高斯消元+bitset
高斯消元求解异或方程组,可以多学一下 $bitset$ 在位运算中的各种神奇操作. #include <cstdio> #include <bitset> #define N ...
- HDU4135 Co-prime
题目链接:Click here Solution: 简单容斥,我们先把\(N\)分解质因数,我们知道\(1\sim x\)里能整除\(i\)的数的个数为\(\lfloor \frac{x}{i} \r ...
- (考试大整理~)Xxy 的车厢调度
这一题我以前研究过哈哈哈~ (train.cpp/c/pas) Description 有 一 个 火 车 站 , 铁 路 如 图 所 示 ,每辆火车从 A 驶入,再从 B 方向驶出,同时它的车厢可以 ...
- 深度学习笔记(十四)车道线检测 SCNN
论文:Spatial As Deep: Spatial CNN for Traffic Scene Understanding 代码:https://github.com/XingangPan/SCN ...
- Java_GUI小游戏--FlappyBird 橡树鸟
本文讲解的是一款来自独立游戏开发者Dong Nguyen所开发的游戏FlappyBird,也叫橡树鸟 四个类代码: package Gary; import java.awt.*; import ja ...
- python3爬取拉钩招聘数据
使用python爬去拉钩数据 第一步:下载所需模块 requests 进入cmd命令 :pip install requests 回车 联网自动下载 xlwt 进入cmd命令 :pip install ...
- 0.JQuery学习
jQuery 教程 jQuery 是一个 JavaScript 库. jQuery 极大地简化了 JavaScript 编程. jQuery 简介 jQuery 库可以通过一行简单的标记被添加到网页中 ...
- 浅析VxWorks与Linux操作系统的区别
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/flaoter/article/details/76861710 转载请标明出处floater ...
- C#获取实体类属性名和值
遍历获得一个实体类的所有属性名,以及该类的所有属性的值 //先定义一个类: public class User { public string name { get; set; } public st ...