共计 2632 个字符,预计需要花费 7 分钟才能阅读完成。
这几天因为安全漏洞扫描,扫描到时大量 OpenSSH 漏洞,需安全加固,主要是升级版本,以前对于升级打补丁总是不在意的,可这次中间遇到一些小问题整理成册,希望对大家有点帮助,以下是具体实现方法:
针对 SUSE RedHat Linux 系统
OpenSSH 5.0 版本升级 6.0 操作手册
一.升级前准备
1. 首先在官网上下载 SSH 安装所需依赖包, 一般三个包就可以了
zlib-1.2.5.tar.gz
openssl-1.0.1e.tar.gz
openssh-6.6p1.tar.gz
2. 启用 TELNET, 或 VNC 工具连接避免 SSH 升级失败后无法远程操作
一般 linux 服务器默认是安装 TELNET 的,可以通过命令查看
Rpm -qa |grep telnet
如已安装,更改配置启用 TELNET
vi/etc/xinetd.d/telnet
disable = no
service xinetdrestart
/etc/securetty 加入
pts/0
pts/1
pts/2
pts/3
/etc/pam.d/login 文件注释掉:
#auth [user_unknown=ignore success=okignore=ignore
#auth_err=die default=bad] pam_securetty.so 如有注释,无请忽略
至此 telnet 服务已启用,在另台机做测试, 如果无 TELNET 服务,请安装 TELNET 包后在进行 SSH 升级
二.ssh 程序升级
1.
备份启动脚本,以及 ssh 服务主配置目录
# cp/etc/init.d/sshd /ssh5bak
# cp/etc/ssh /ssh5bak
2.
解压安装 zlib
# tar -zxf zlib-1.2.5.tar.gz // 首先安装 zlib 库,否则会报 zlib.c 错误无法进行
# cd zlib-1.2.5
# ./configure–shared
# make &&make install
3. 解压安装 openssl 包:
# tar -zxf openssl-1.0.1.tar.gz
# cd openssl-1.0.1
# ./config share
# make
# make test
# make install
# mv /usr/bin/openssl/usr/bin/openssl.OFF
# mv/usr/include/openssl /usr/include/openssl.OFF
// 该步骤可能提示无文件,忽略即可
# ln -s /usr/local/ssl/bin/openssl/usr/bin/openssl
# ln -s /usr/local/ssl/include/openssl/usr/include/openssl
// 移走原先系统自带的 openssl,将自己编译产生的新文件进行链接。
4. 配置库文件搜索路径
# echo “/usr/local/ssl/lib” >>/etc/ld.so.conf
# /sbin/ldconfig -v
# openssl version -a
三.卸载原有 ssh 服务
# rpm –qa|grep openssh // 查询系统原安装的 openssh 包, 全部卸载。使用 rpm –e 命令卸载,如果出现报错请添加 –nodeps 参数如下
# rpm -eopenssh-askpass –nodeps
四.安装升级 SSH
# tar -zxfopenssh-6.6p1.tar.gz
# ./configure–prefix=/usr/ –sysconfdir=/etc/ssh –with-zlib –with-ssl-dir=/usr/local/ssl –with-md5-passwords –mandir=/usr/share/man
# make
# makeinstall
五.启动服务
进入 /usr/local/openssh
# cp -pcontrib/redhat/sshd.init /etc/init.d/sshd(redhat)
# cp –pcontrib/suse/rc.sshd /etc/init.d/sshd(suse)
// 其他版本操作系统具体查看 contrib 对应目录和 readme。
# chmod+x /etc/init.d/sshd
# chkconfig–add sshd
# cpsshd_config /etc/ssh/sshd_config (如提示覆盖,yes 回车)
# cp sshd/usr/sbin/sshd
# cp –p ssh /usr/bin/ssh
#service sshd start —-
启动 SSH 服务
#ssh –V —- 查看当前版本
通过 OpenSSL 提供 FTP+SSL/TLS 认证功能,并实现安全数据传输 http://www.linuxidc.com/Linux/2013-05/84986.htm
加密算法浅析及 OpenSSL,OpenSSH 使用 http://www.linuxidc.com/Linux/2014-08/105386.htm
在 Ubuntu Server 13.10 系统中安装配置 OpenSSH http://www.linuxidc.com/Linux/2014-02/96953.htm
Ubuntu 安装远程登录 OpenSSH 服务 http://www.linuxidc.com/Linux/2014-02/97218.htm
通过 OpenSSH 远程登录时的延迟问题解决 http://www.linuxidc.com/Linux/2013-07/86879.htm
Ubuntu 12.10 下 OpenSSH 的离线安装方法 http://www.linuxidc.com/Linux/2013-04/82814.htm
OpenSSH 升级步骤及注意事项详解 http://www.linuxidc.com/Linux/2013-04/82123.htm
OpenSSH 普通用户无法登录的几种情况的解决方法 http://www.linuxidc.com/Linux/2012-05/59457.htm
通用线程: OpenSSH 密钥管理,第 1 部分理解 RSA/DSA 认证 http://www.linuxidc.com/Linux/2011-08/39871.htm
RedHat 安装 OpenSSH 和配置 sftp 锁定目录 http://www.linuxidc.com/Linux/2012-12/75398.htm
OpenSSL 的详细介绍:请点这里
OpenSSL 的下载地址:请点这里