CentOS7中openssh源码编译rpm包及安装步骤

第一步、构建openssh的rpm包

(备注:应该也可以直接编译源代码使用,因为还要安装在其它机器上,所以我采用的是编译成rpm包,编译步骤的参照网址:https://blog.csdn.net/fhqsse220/article/details/75502657 )
编译过程:
mkdir -p /usr/src/redhat/{SOURCES,SPECS}
cd /usr/src/redhat/SOURCES/
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.8p1.tar.gz
tar xfz openssh-7.8p1.tar.gz openssh-7.8p1/contrib/redhat/openssh.spec
mv openssh-7.8p1/contrib/redhat/openssh.spec ../SPECS/
chown sshd:sshd /usr/src/redhat/SPECS/openssh.spec
cp /usr/src/redhat/SPECS/openssh.spec /usr/src/redhat/SPECS/openssh.spec_def
sed -i -e "s/%define no_gnome_askpass 0/%define no_gnome_askpass 1/g" /usr/src/redhat/SPECS/openssh.spec
sed -i -e "s/%define no_x11_askpass 0/%define no_x11_askpass 1/g" /usr/src/redhat/SPECS/openssh.spec
mkdir -p ~/rpmbuild/SOURCES/
cp /usr/src/redhat/SOURCES/openssh-7.8p1.tar.gz ~/rpmbuild/SOURCES/
cd /usr/src/redhat/SPECS/
rpmbuild -ba openssh.spec
编译完成:
查看目录结构:tree -L 2 /root/rpmbuild/
查看rpm包:ll /root/rpmbuild/RPMS/x86_64/openssh-*

其中:1、每个版本会编译出四个rpm包。

2、如果有报错可以参照:https://blog.csdn.net/qq_42609381/article/details/82855043

3、如果还有问题,还可以这样简单解决,比如编译openssh-7.9p1时,rpmbuild -ba openssh.spec会出现一些错误,尝试使用openssh-7.5p1中openssh.spec替代7.9中的编译,也可以编译出rpm包,最后测试也可以解决ssh的漏洞。

 

 

第二步、安装

2.1 卸载

在安装新的openssh之前一定要将已经安装过的openssh卸载掉,否则会出现各种难以捉摸的异常问题。

卸载老版本openssh的方法,(下面是截取我安装脚本中的卸载部分):

oldOpenssh=`rpm -qa |grep openssh`
for str in $oldOpenssh
do
  rpm -e $str --nodeps
done

2.2 安装

安装新openssh的方法,采用强制安装的方法,避免出现依赖报错

rpm -iv --force --nodeps *.rpm

警告:这时如果直接重启肯定就完了,ssh是启动失败,

解决方法:1、打开/etc/ssh/sshd_config 找到 以PermitRootLogin开头的行,如果后面有prohibit-password,改为 PermitRootLogin yes;

附上我修改的方法:

 bin/mv /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
cat /etc/ssh/sshd_config.bak| sed -e "s/^[[:space:]]*[#]*PermitRootLogin.*/PermitRootLogin yes/" > /etc/ssh/sshd_config

2.3 加权限

给/etc/ssh中的配置文件加权限

    chmod 600 /etc/ssh/ssh_host*key
     chmod 600 /etc/ssh/ssh_host*key.pub

重启机器,看效果。

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值