一次基于openssh 8.4p1源码包制作的OpenSSHrpm包的经历

it2023-10-21  68

一、源码包及环境准备

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 或者 多打开链接几个标签。 稳!!!

 

 

 

 

 

 

 

 

 

 

 

最新回复(0)