CentOS67升级Openssh至7.9
Posted poov
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS67升级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-7.9p1.tar.gz cd openssh-7.9p1 # 编译sshd ./configure --sysconfdir=/etc/ssh # 安装sshd make && make install # 查看下ssh命令的执行路径 [root@localhost ~]# which sshd /usr/local/sbin/sshd # 复制源码解压路劲的开机启动脚本 cp /root/ssh_update/openssh-7.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-7.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 11 Feb 2013
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
以上是关于CentOS67升级Openssh至7.9的主要内容,如果未能解决你的问题,请参考以下文章