linux升级openssh7.4sp1

时间:2022-07-06 04:51:18

1、准备相关的包

openssh下载地址:http://mirror.internode.on.net/pub/OpenBSD/OpenSSH/portable/

openssl相关包下载:http://www.openssl.org/source/

pam相关包下载:http://pkgs.org/centos-6/centos-x86_64/

zlib包下载: http://zlib.net/

首先看一下自身的ssh版本

#ssh -V :

openssh_5.3p1

2、安装zlib

tar -zxvf zlib-1.2.8.tar.gz

cd zlib-1.2.8

./configure --prefix=/usr/local/zlib && make && make install

3、安装openssl-fips

tar zxvf openssl-fips-2.0.12.tar.gz

cd openssl-fips

./config

make && make install

4、安装openssl

tar -zxvf openssl-1.0.1c.tar.gz

cd openssl-1.0.1c

./config fips --shared

make && make install

5、将新编译的openssl library 加入系统动态库链接中

echo "/usr/local/ssl/lib" >> /etc/ld.so.conf

ldconfig

6、安装pam,首先卸载旧版本

查看版本信息:rpm -qa|grep pam

卸载旧版本:rpm -e --nodeps
pam-1.1.1-17.el6.x86_64

安装pam:依次安装

rpm -ivh tcp_wrappers-devel-7.6-57.el6.x86_64.rpm

pam-1.1.1-20.el6_7.1.x86_64.rpm

pam-devel-1.1.1-20.el6_7.1.x86_64.rpm

7、安装OpenSSH

tar zxvf openssh-7.4p1.tar.gz

cd openssh-7.4p1

./configure \

--prefix=/usr \         //安装路径

--sysconfdir=/etc/ssh \       //配置文件路径

--with-md5-passwords \     //一种密钥,加密算法

--with-pam \      //编译pam文件

--with-tcp-wrappers \   //编译tcp—wrappers

--with-ssl-dir=/usr/local/ssl \   //openssl的路径(配置的时候可能会报错,根据实际路径写)

--with-zlib=/usr/local/zlib \     //编译zlib

--without-hardening

##配置报错"OpenSSL headers missing - please install first or check
config.log ***"的错误,这是缺少openssl-devel所致,只需安装openssl-devel即可,执行命令:yum
install openssl-devel

此处执行编译时可能报error: *** zlib.h missing - please install first or check
config.log ***"这是由于缺少zlib-devel所致,只需安装zlib-devel即可,执行命令:yum install
zlib-devel;

make && make install

8、加入到系统服务,重启sshd升级成功

chkconfig --add sshd

service sshd restart

重新启动报错:关闭selinux即可。

#ssh -V

openssh_7.4p1升级成功

#在升级完OpenSSH和OpenSSL后,SecureCRT无法SSH登录,但是Putty等工具可以正常登录;是因为 SSH和SSL升级后,取消了原先一些不太安全的加密算法,Clinet不支持新的算法所以无法交换密钥;建议要求客户升级SecureCRT版本至6.5或7.x,或更换最新版的Xshell、Putty等工具,即可正常登录