一、源码包及环境准备
CentOS 7.X 系统的主机
openssh-8.4p1.tar.gz openssh的源码包
二、装包修改配置文件
创建对应的文件目录:
#mkdir -p /home/malico/rpmbuild/{SOURCES,SPECS,RPMS,SRPMS,BUILD,BUILDROOT}
安装源码编译及依赖包:
# yum install gcc gcc-c++ glibc glibc-devel openssl-devel openssl prce pcre-devel zlib zlib-devel make wget krb5-devel pam-devel libX11-devel xmkmf libXt-devel initscripts libXt-devel imake gtk2-devel
安装制作rpm包工具
#yum install -y rpm-build.x86_64
#cp openssh-8.4p1.tar.gz /home/malico/rpmbuild/SOURCES/
#tar -xzf openssh-8.4p1.tar.gz ##openssh-8.4p1.tar.gz 源文件包不要删除,后面有用到;
#cp /home/malico/rpmbuild/SOURCES/openssh-8.4p1/contrib/redhat/openssh.spec /home/malico/rpmbuild/SPECS/
#vim /home/malico/rpmbuild/SPECS/openssh.spec
要找一个sshd文件模板,#cp /etc/pam.d/sshd /home/malico/rpmbuild/SOURCES/
配置文件修改完毕,下面是所有的修改内容可cp,
%global no_x11_askpass 1 %global no_gnome_askpass 1
Source2: sshd
install -m644 $RPM_SOURCE_DIR/sshd $RPM_BUILD_ROOT/etc/pam.d/sshd
cp -r /etc/ssh /etc/ssh_bak
chmod 600 /etc/ssh/ssh_host_*_key sed -i -e "s/#PasswordAuthentication yes/PasswordAuthentication yes/g" /etc/ssh/sshd_config sed -i -e "s/#PermitRootLogin prohibit-password/PermitRootLogin yes/g" /etc/ssh/sshd_config sed -i -e "s/#PermitEmptyPasswords no/PermitEmptyPasswords no/g" /etc/ssh/sshd_config sed -i -e "s/#UsePAM no/UsePAM yes/g" /etc/ssh/sshd_config sed -i -e "s/#X11Forwarding no/X11Forwarding yes/g" /etc/ssh/sshd_config echo "KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group14-sha1" >>/etc/ssh/sshd_config chmod +x /etc/init.d/sshd mv /usr/lib/systemd/system/sshd.service /opt/ mv /usr/lib/systemd/system/sshd.socket /opt/ /sbin/chkconfig --add sshd service sshd restart
三、构建rpm包
为安全起见用普通用户操作,
#chown -R malico:malico /home/malico/rpmbuild
#su - malico
#cd /home/malico/rpmbuild/SPECS/
#rpmbuild -bb openssh.spec
到此处恭喜,已生成想要的rpm包,
#cd /home/malico/rpmbuild/RPMS/x86_64
四、升级openssh
#su - root
#rpm -Uvh openssh-8.4p1-1.el7.x86_64.rpm openssh-clients-8.4p1-1.el7.x86_64.rpm openssh-server-8.4p1-1.el7.x86_64.rpm
注:为安全起见,做好后手准备,安装一个telnet 或者 多打开链接几个标签。 稳!!!