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 ...
随机推荐
- js 密码为空显示错误
<script> var user = document.getElementById("user"); var pwd = document.getElementBy ...
- hdu 5831 Rikka with Parenthesis II 括号匹配+交换
Rikka with Parenthesis II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Jav ...
- zabbix自动注册,实现自动添加机器,减少人工干预
1.zabbix_agent的安装配置: vim install_zabbix_agent.sh #!/bin/bash #author:chenjianwen RealIP=`curl -s htt ...
- K 短路
这种东西到现在才学-- 考虑 \(T\) 为根的最短路树,一条路径一定是树上边和非树边交错. 我们只管非树边,对于一条路径,非树边构成一个序列 \(L\),相邻两条路径 \(\left(u_1,v_1 ...
- permutation 2(递推 + 思维)
permutation 2 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) ...
- Bzoj3073Journeys
这不裸的dij吗?来,弄他. 打完以后发现不妙,这数据范围略神奇……算一算,考一场都可能跑不出来.map去重边(成功额外引入log)不怕,交.TLE,54. 这不玩呢吗,把map去了,交.MLE,71 ...
- BZOJ3331压力
码量略大. 题意就是求路径必经点. tarjan缩点,所有的非割点只有是起点终点时才必经,直接开个ans数组就OK了. 至于割点,因为缩完点之后的图是vDcc和割点共同组成的,而且题目说连通,那就是棵 ...
- ubuntu18.04系统桌面很卡 换回16.04桌面
https://jingyan.baidu.com/article/37bce2bea3c07f1002f3a22a.html
- (十七)C语言之变量
- Nginx-rtmp之 ngx_rtmp_send.c 文件分析
1. 简述 1.1 RTMP 消息类型 /* RTMP message types */ #define NGX_RTMP_MSG_CHUNK_SIZE 1 #define NGX_RTMP_MSG_ ...