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 ...
随机推荐
- Javascript你必须要知道的知识点
1.使用 typeof bar === "object" 判断 bar 是不是一个对象有神马潜在的弊端?如何避免这种弊端? 使用 typeof 的弊端是显而易见的(这种弊端同使用 ...
- Confluence 6 移动一个文件到其他页面
你需要同时具有 添加页面(Add Page),添加附件(Add Attachment)和删除附件(Remove Attachment)空间权限来移动一个附件文件到其他页面. 希望修改附件附加的页面到其 ...
- Lock和synchronized的区别
总结来说,Lock和synchronized有以下几点不同: 1)Lock是一个接口,而synchronized是Java中的关键字,synchronized是内置的语言实现: 2)synchroni ...
- TNS-12560: TNS: 协议适配器错误
TNS-12560: TNS: 协议适配器错误 Microsoft Windows [版本 5.2.3790] (C) 版权所有 1985-2003 Microsoft Corp. C:\Docu ...
- E. Compress Words(Hash,KMP)
E. Compress Words time limit per test 1 second memory limit per test 256 megabytes input standard in ...
- LNMP源码编译
LNMP源码编译 编译安装之前把开发包组安装了 [root@tiandong63 ~]# yum groupinstall "Development Tools" "De ...
- c++ gdb调试的基本使用
https://blog.csdn.net/zdy0_2004/article/details/80102076
- C++入门经典-友元
1:在讲述类的内容时说明了隐藏数据成员的好处,但是有时类会允许一些特殊的函数直接读写其私有数据成员. 使用friend关键字可以使特定的函数或者别的类的所有成员函数对私有数据成员进行读写.这既可以保持 ...
- (七)C语言之顺序结构
- 编写可维护的JavaScript代码(部分)
平时使用的时VS来进行代码的书写,VS会自动的将代码格式化,所有写了这么久的JS代码,也没有注意到这些点.看了<编写可维护的javascript代码>之后,做了些笔记. var resul ...