热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:centos7openssh版本升级

本文由编程笔记#小编为大家整理,主要介绍了centos7openssh版本升级相关的知识,希望对你有一定的参考价值。1.
本文由编程笔记#小编为大家整理,主要介绍了centos7 openssh 版本升级相关的知识,希望对你有一定的参考价值。


1. 准备备用远程登录

用户反馈 openssh 存在漏洞,需要升级,升级过程中原来的 ssh 将无法使用,如果是在编译过程中的话,断开会将无法再访问服务器,需要有预案可以登录,防止出现问题。我们可以使用telnet-server来提供服务。安装:



yum -y install xinetd telnet-server


telnet-server是由xinetd管理,需要安装xinetd,这里启动的是telnet.socket而不是telnet.service。默认情况下,PAM 模块限制root不能telnet到 telnet-server,如果telnet 时报 Login incorrect 时,可以把下面的文件进行注释掉;


启动服务



systemctl enable xinetd.server
systemctl enable telnet.socket
systemctl start telnet.socket
systemctl start xinetd.service


测试

centos7 openssh 版本升级


2. 升级 openssh 脚本(测试可用)



#!/bin/bash
cd /opt

#
 更新 openssh
yum update openssh -y

#
 安装依赖
yum install -y gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel pam-devel
yum install -y pam* zlib*

#
 下载 openssh、openssl 源码
wget -c https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-8.1p1.tar.gz
wget -c https://ftp.openssl.org/source/openssl-1.0.2r.tar.gz

#
 解压操作
tar zxf openssh-8.1p1.tar.gz
tar zxf openssl-1.0.2r.tar.gz

#
 原文件备份
mv /usr/bin/openssl /usr/bin/openssl_bak
mv /usr/include/openssl /usr/include/openssl_bak

#
 安装 openssl
cd /opt/openssl-1.0.2r
./config shared && make && make install
echo $?

#
 链接文件
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
/sbin/ldconfig
openssl version

#
 编译安装 openssh
cd /opt/openssh-8.1p1
chown -R root.root /opt/openssh-8.1p1
cp -r /etc/ssh /tmp/
rm -rf /etc/ssh
./configure --prefix=/usr/ --syscOnfdir=/etc/ssh --with-openssl-includes=/usr/local/ssl/include --with-ssl-dir=/usr/local/ssl --with-zlib --with-md5-passwords --with-pam && make && make install
echo $?

#
 修改配置文件
cat > /etc/ssh/sshd_config <PermitRootLogin yes
AuthorizedKeysFile .ssh/authorized_keys
UseDNS no
Subsystem sftp /usr/libexec/sftp-server
EOF
grep "^PermitRootLogin" /etc/ssh/sshd_config
cat /tmp/ssh/sshd_config |grep -v '#' |grep -v '^$'
cp -a contrib/redhat/sshd.init /etc/init.d/sshd
cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
chmod +x /etc/init.d/sshd
chkconfig --add sshd
systemctl enable sshd
mv /usr/lib/systemd/system/sshd.service /opt/
mv /usr/lib/systemd/system/sshd.socket /opt/
chkconfig sshd on

#
 启动
service sshd restart

#
 测试
openssl version
ssh -V


3. 测试


您的关注是我写作的动力








文章推荐









基础小知识













专辑分享









推荐阅读
author-avatar
手机用户2502909581
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有