suse11sp1升级openssh7.8p1指导

  • 格式:docx
  • 大小:233.74 KB
  • 文档页数:10

SUSE Linux 11 sp1 OpenSSH_5.1p1升级到OpenSSH_7.8p1SUSE Linux 11 sp1 OpenSSH_5.1p1升级到OpenSSH_7.8p1 (1)一:准备依赖软件和环境 (2)1.1.本地ZYPPER源配置 (2)1.2.上传openssh升级所需安装包 (3)1.3.安装必要的依赖包 (3)二:安装OpenSSL (4)2.1.检查系统自带的openssl (4)2.2.检查openssl版本 (4)2.3.检查openssl安装文件以及路径 (4)2.4备份上述文件,/usr/bin/X11/openssl为/usr/bin/openssl的软链接 (4)2.5安装zlib-1.2.11 (5)三:升级openssl (5)3.1安装openssl-fips-2.0.16 (5)3.2检查安装好后的目录文件 (5)3.3安装openssl-1.0.2p (6)3.4查看安装好的/usr/local/openssl目录文件 (6)3.5查看/etc/ssl目录 (6)3.6配置升级后的openssl的相关目录(链接openssl程序) (7)3.7查看升级的openssl版本 (7)四:卸载系统原有的OpenSSH (8)4.1停止sshd服务 (8)4.2卸载openssh (8)五:升级OpenSSH (8)5.1安装openssh7.8p1 (8)5.2查看升级后的版本 (8)5.3拷贝sshd启动脚本,contrib/目录下对应系统的启动脚本 (8)5.4启动并设置开机启动 (9)5.5修改sshd 文件 (9)六:升级过程可能会出现的经典错误 (9)6.1编译openssh时,出现找不到pam-devel (9)6.2编译过程中出现libpam missing (10)6.3编译过程出现host-key Error 255 (10)6.4编译过程中出现错误configure: error: *** Can't find recent OpenSSL libcrypto(see config.log for details) *** (10)6.5编译openssh依赖的是openssl是老版本 (10)6.7升级后ssh无法正常登录 (10)一:准备依赖软件和环境系统要求:SUSE Linux Enterprise Server 11 SP1 (x86_64) 安装软件包前提准备:1.1. 本地ZYPPER源配置注意:(gcc,gcc-c++已经安装的话,此步骤可以跳过)存放repo 文件目录cd /etc/zypp/repos.d创建目录mkdir or赋予目录权限chmod -R 777 or挂载iso文件mount -o loop SLES-11-SP3-DVD-x86_64-GM-DVD1.iso /or或者拷贝iso目录文件到orcp -rf /media/SLES-11-SP4-DVD-x86_6412211/* /or配置本地repozypper ar local-sles查看列出库zypper lr# | Alias| Name| Enabled | Refresh--+------------+------------+---------+--------1 | local-sles | local-sled | Yes| No清楚本地缓存zypper clean刷新所有安装源zypper ref1.2. 上传openssh升级所需安装包1)将openssh-7.8p1.tar.gz;openssl-1.0.2p.tar.gz; openssl-fips-2.0.16.tar.gz和zlib-1.2.11.tar.gz上传到待升级服务器的/usr/local/src目录linux-wcai:/usr/local/src # lltotal 8808-rwxr--r-- 1 root root 1548026 Sep 14 18:24 openssh-7.8p1.tar.gz-rwxr--r-- 1 root root 5338192 Sep 14 18:24 openssl-1.0.2p.tar.gz-rwxr--r-- 1 root root 1492654 Sep 14 18:24 openssl-fips-2.0.16.tar.gz-rwxrw-rw- 1 root root 607698 Sep 14 10:45 zlib-1.2.11.tar.gzlinux-wcai:/usr/local/src #2)将下列rpm安装包pam-devel-1.3.0-10.1.x86_64.rpm;zlib-devel-1.2.8-14.3.1.x86_64.rpm和libopenssl-devel-1.0.2j-25.1.x86_64.rpm上传到/home/目录linux-wcai:/home/ # pwd/home/linux-wcai:/home/sshpacket # lltotal 480-rwxrw-rw- 1 root root 283101 Sep 14 10:40 libopenssl-devel-1.0.2j-25.1.x86_64.rpm-rwxrw-rw- 1 root root 79617 Sep 14 09:55 pam-devel-1.3.0-10.1.x86_64.rpm-rwxrw-rw- 1 root root 109310 Sep 14 10:20 zlib-devel-1.2.8-14.3.1.x86_64.rpmlinux-wcai:/home/ #1.3. 安装必要的依赖包安装必要的gcc, gcc-c++编译工具以及libopenssl-devel,pam-devel,zlib-devel#zypper in -y gcc gcc-c++#rpm -ivh libopenssl-devel-1.0.2j-25.1.x86_64.rpm --nodeps#rpm -ivh pam-devel-1.3.0-10.1.x86_64.rpm --nodeps#rpm -ivh zlib-devel-1.2.8-14.3.1.x86_64.rpm --nodeps二:安装OpenSSL2.1.检查系统自带的openssl#rpm -q openssl#由于openssl依赖的软件太多,所以在升级openssl时,不用卸载旧的版本。

如果强制卸载可能导致系统不能正常运行2.2.检查openssl版本#openssl version2.3.检查openssl安装文件以及路径#which openssl#在升级过程中将旧版的相关文件进行备份,在升级新版本后重新链接替换为新版本对应的文件目录#whereis openssl#ls /etc/ssl2.4备份上述文件,/usr/bin/X11/openssl为/usr/bin/openssl的软链接#mkdir/home/ssl_bak#mv/usr/bin/openssl/home/ssl_bak/#mv/etc/ssl/home/ssl_bak/etc_ssl#mv/usr/include/openssl/home/ssl_bak/include_openssl2.5安装zlib-1.2.11#解压#cd /usr/local/src#tar -zxvf zlib-1.2.11.tar.gz#cd zlib-1.2.11#./configure#make#make install三:升级openssl#涉及openssl-1.0.2p.tar.gz,openssl-fips-2.0.16.tar.gz这两个包,一并安装上去3.1安装openssl-fips-2.0.16#解压openssl-fips-2.0.16.tar.gz#cd /usr/local/src#tar -zxf openssl-fips-2.0.16.tar.gz#cd openssl-fips-2.0.16/# --prefix指定openssl的安装目录,记得加上shared参数,生成动态链接库#./config --prefix=/usr/local/openssl --openssldir=/etc/ssl shared#make#make install3.2 检查安装好后的目录文件#ll /usr/local/openssl#ls /usr/local/openssl/{bin,include,lib}3.3安装openssl-1.0.2p#解压openssl-1.0.2p.tar.gz#cd /usr/local/src#tar -zxf openssl-1.0.2p.tar.gz#cd openssl-1.0.2p/#./config --prefix=/usr/local/openssl --openssldir=/etc/ssl shared# make# make install3.4查看安装好的/usr/local/openssl目录文件#ll /usr/local/openssl/{bin,include,lib}3.5 查看/etc/ssl目录#ll/etc/ssl/3.6配置升级后的openssl的相关目录(链接openssl程序)#ln -s/usr/local/openssl/bin/openssl/usr/bin/openssl#ln -s/usr/local/openssl/include/openssl/usr/include/openssl# vim /etc/ld.so.conf注意:一定要增加上面一行,/usr/local/openssl/lib放置在包含lib64的行后面,否则编译openssh时会找不到openssl-1.0.2p只会找到原来版本的openssl进行编译#ldconfig3.7查看升级的openssl版本#/usr/bin/openssl version –a四:卸载系统原有的OpenSSH4.1停止sshd服务#service sshd stop4.2卸载openssh#zypper rm openssh#rpm -qa|grep openssh五:升级OpenSSH5.1安装openssh7.8p1#cd /usr/local/src#tar -zxvf openssh-7.8p1.tar.gz#cd openssh-7.8p1/#./configure --prefix=/usr --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/src/openssl-1.0.2p --with-md5-passwords --mandir=/usr/share/man --with-zlib=/usr/local/src/zlib-1.2.11 --without-openssl-header-check#make#make install5.2 查看升级后的版本#ssh -V5.3 拷贝sshd启动脚本,contrib/目录下对应系统的启动脚本cd contrib/#cp suse/rc.sshd/etc/init.d/sshd#chmod755/etc/init.d/sshd5.4启动并设置开机启动#chkconfig --add sshd#chkconfig sshd on5.5修改sshd 文件#vim /etc/ssh/sshd_config增加PermitRootLogin yes一行修改#PasswordAuthentication yes行去掉注释#修改两个,如果没有PermitRootLogin 就手动添加进去#service sshd start六:升级过程可能会出现的经典错误6.1编译openssh时,出现找不到pam-devel 提前安装pam-devel这个rpm包6.2编译过程中出现libpam missing由于我们提前安装了pam-devel,后续进行编译:./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam--with*(此处省略)这样的话就会报libpam 在安装过程中去掉--with-pam就可以了6.3编译过程出现host-key Error 255这是因为我们在编译的时候没有加上---with-md5-passwords,所以不会生成host-key6.4编译过程中出现错误configure: error: *** Can't find recent OpenSSL libcrypto (see config.log for details) ***这是OpenSSL没有安装配置好所引起的错误,重新安装OpenSSL即可6.5编译openssh依赖的是openssl是老版本在/etc/f配置OpenSSL时把/usr/loacl/openssl/lib把/usr/local/openssl/lib放置在lib64位后面,后续编译openssh时不会先检测到先升级后的openssl6.7升级后ssh无法正常登录需打开PermitRootLogin,PasswordAuthentication即可。