我们使用开源github上面的脚本来实现升级至最新版本的openssh版本
准备编译环境
yum -y install epel-release
yum -y install git zip unzip
yum -y groupinstall "Development Tools"
yum -y install imake rpm-build pam-devel krb5-devel zlib-devel libXt-devel libX11-devel gtk2-devel
修改脚本
git clone https://github.com/boypt/openssh-rpms.git
cd openssh-rpms
将compile.sh和pullsrc.sh文件中
source version.env修改为source ./version.env
修改完成如下图
将出现wget的行加上--no-check-certificate 参数,避免因为证书问题导致源码下载失败。(新版本已加上--no-check-certificate参数,无需再自己修改)
#grep "wget" pullsrc.sh
解决默认openssh源码中没有ssh-copy-id的问题
修改vim openssh-rpms/el7/SPECS/openssh.spec文件
在
install -d $RPM_BUILD_ROOT%{_libexecdir}/openssh
install -m644 %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/sshd
中间插入
install -m755 contrib/ssh-copy-id $RPM_BUILD_ROOT/usr/bin/ssh-copy-id
在
%attr(0755,root,root) %{_bindir}/ssh-keygen
%attr(0644,root,root) %{_mandir}/man1/ssh-keygen.1*
中间插入
%attr(0755,root,root) %{_bindir}/ssh-copy-i
编译打包最新版本openssh
sh pullsrc.sh
然后编译安装
./compile.sh
编译顺利的话就会在openssh-rpms/el7/RPMS/x86_64目录下生产openssh最新版的rpm包。
说明
本站也提供已编译好的CentOS 7.x的rpm包,完全一键安装,比较适合伸手党,请站主喝一杯咖啡,然后联系站主提供最新rpm包。
注意
但编译有可能会报错,比如报:Can't locate IPC/Cmd.pm in @INC错误。
这是因为缺少IPC/Cmd.pm模块。解决方法:
安装perl-CPAN
yum install -y perl-CPAN
进入CPAN的shell模式,首次进入需要配置shell,按照提示操作即可(有可能网络很慢,需要耐心等待安装)
perl -MCPAN -e shell
在shell中安装缺少的模块
cpan[1]> install IPC/Cmd.pm