OpenSSH制作rpm包和升级OpenSSH过程中遇到的问题


1. 问题1

解决方案:   vim openssh.spec   注释掉这一行:BuildRequires: openssl-devel < 1.1   大约在103或113行

2. 问题2

解决方案:   wget https://src.fedoraproject.org/repo/pkgs/openssh/x11-ssh-askpass-1.2.4.1.tar.gz/8f2e41f3f7eaa8543a2440454637f3c3/x11-ssh-askpass-1.2.4.1.tar.gz   cp x11-ssh-askpass-1.2.4.1.tar.gz  /root/rpmbuild/SOURCES

3. 问题3

解决方案:

  yum install gtk2-devel.x86_64

4. 问题4

因为 x11-ssh-askpass-1.2.4.1.tar.gz不是压缩文件,而是 网页

可以使用:file /root/rpmbuild/SOURCES/x11-ssh-askpass-1.2.4.1.tar.gz

解决方案:

  1. wget https://src.fedoraproject.org/repo/pkgs/openssh/x11-ssh-askpass-1.2.4.1.tar.gz/8f2e41f3f7eaa8543a2440454637f3c3/x11-ssh-askpass-1.2.4.1.tar.gz

  2. 百度网盘:https://pan.baidu.com/s/1gqpH2xeOkYHJ0CiztbmqoQ 
  提取码:imfg 

  cp x11-ssh-askpass-1.2.4.1.tar.gz  /root/rpmbuild/SOURCES

5. 问题5-重启ssh失败

/root/rpmbuild/BUILDROOT/openssh-7.7p1-1.el7.centos.x86_64/usr/sbin/sshd -t -f /root/rpmbuild/BUILDROOT/openssh-7.7p1-1.el7.centos.x86_64/etc/ssh/sshd_config
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0640 for '/etc/ssh/ssh_host_rsa_key' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
key_load_private: bad permissions
Could not load host key: /etc/ssh/ssh_host_rsa_key

解决方案:

  chmod 600 /etc/ssh/ssh_host_rsa_key

5. 问题6-RPM 构建错误

*** ERROR: No build ID note found in /root/rpmbuild/BUILDROOT/openssh-7.7p1-1.el7.centos.x86_64/usr/libexec/openssh/ssh-keysign
错误:

  /var/tmp/rpm-tmp.2YjX49 (%install) 退出状态不好

  /var/tmp/rpm-tmp.2YjX49 (%install) 退出状态不好

解决方法:

  在/usr/src/redhat/SPECS/openssh.spec 最后面加

  %define __debug_install_post \
  %{_rpmconfigdir}/find-debuginfo.sh %{?_find_debuginfo_opts} "%{_builddir}/%{?buildsubdir}"\
  %{nil}

6. 问题6-configure: error: PAM headers not found

解决方法:

  安装pam-devel

  yum -y install pam-devel

  或者

  rpm -qa pam-devel-1.1.8-18.el7.x86_64.rpm

 7. 关闭 selinux

遇到个奇葩的问题,连续升级了三台服务器都能正常顺利的升级完成,唯独第四台的时候出现了问题,最终再技术大牛的帮助下解决了问题

原因:selinux 开着呢

执行命令:getenforce

没问题的服务器信息,如下:

有问题的服务器信息,如下:

解决方案:

关闭getenforce

方法一:临时关闭:setenforce 0

方法二:永久关闭:sed -i s/^SELINUX=.*$/SELINUX=disabled/ /etc/selinux/config

记得重启sshd