suse11sp1升级openssh78p1指导.docx
《suse11sp1升级openssh78p1指导.docx》由会员分享,可在线阅读,更多相关《suse11sp1升级openssh78p1指导.docx(11页珍藏版)》请在冰点文库上搜索。
suse11sp1升级openssh78p1指导
suse11sp1升级openssh7.8p1指导
D
一:
准备依赖软件和环境
系统要求:
SUSELinuxEnterpriseServer11SP1(x86_64)
安装软件包前提准备:
1.1.本地ZYPPER源配置
注意:
(gcc,gcc-c++已经安装的话,此步骤可以跳过)
存放repo文件目录
cd/etc/zypp/repos.d
创建目录
mkdiror
赋予目录权限
chmod-R777or
挂载iso文件
mount-oloopSLES-11-SP3-DVD-x86_64-GM-DVD1.iso/or
或者拷贝iso目录文件到or
cp-rf/media/SLES-11-SP4-DVD-x86_6412211/*/or
配置本地repo
zypperarfile:
///or/local-sles
查看列出库
zypperlr
#|Alias |Name |Enabled|Refresh
--+------------+------------+---------+--------
1|local-sles|local-sled|Yes |No
清楚本地缓存
zypperclean
刷新所有安装源
zypperref
1.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#ll
total8808
-rwxr--r--1rootroot1548026Sep1418:
24openssh-7.8p1.tar.gz
-rwxr--r--1rootroot5338192Sep1418:
24openssl-1.0.2p.tar.gz
-rwxr--r--1rootroot1492654Sep1418:
24openssl-fips-2.0.16.tar.gz
-rwxrw-rw-1rootroot607698Sep1410:
45zlib-1.2.11.tar.gz
linux-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#ll
total480
-rwxrw-rw-1rootroot283101Sep1410:
40libopenssl-devel-1.0.2j-25.1.x86_64.rpm
-rwxrw-rw-1rootroot79617Sep1409:
55pam-devel-1.3.0-10.1.x86_64.rpm
-rwxrw-rw-1rootroot109310Sep1410:
20zlib-devel-1.2.8-14.3.1.x86_64.rpm
linux-wcai:
/home/#
1.3.安装必要的依赖包
安装必要的gcc,gcc-c++编译工具以及libopenssl-devel,pam-devel,zlib-devel
#zypper in -y gcc gcc-c++
#rpm-ivhlibopenssl-devel-1.0.2j-25.1.x86_64.rpm--nodeps
#rpm-ivhpam-devel-1.3.0-10.1.x86_64.rpm--nodeps
#rpm-ivhzlib-devel-1.2.8-14.3.1.x86_64.rpm--nodeps
二:
安装OpenSSL
2.1.检查系统自带的openssl
#rpm-qopenssl
#由于openssl依赖的软件太多,所以在升级openssl时,不用卸载旧的版本。
如果强制卸载可能导致系统不能正常运行
2.2.检查openssl版本
#opensslversion
2.3.检查openssl安装文件以及路径
#whichopenssl
# 在升级过程中将旧版的相关文件进行备份,在升级新版本后重新链接替换为新版本对应的文件目录
#whereisopenssl
#ls/etc/ssl
2.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_openssl
2.5安装zlib-1.2.11
#解压
#cd/usr/local/src
#tar-zxvfzlib-1.2.11.tar.gz
#cdzlib-1.2.11
#./configure
#make
#makeinstall
三:
升级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/sslshared
#make
#makeinstall
3.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/sslshared
#make
#makeinstall
3.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进行编译
# ldconfig
3.7查看升级的openssl版本
#/usr/bin/openssl version–a
四:
卸载系统原有的OpenSSH
4.1停止sshd服务
# service sshd stop
4.2卸载openssh
# zypper rm openssh
# rpm -qa | grep openssh
五:
升级OpenSSH
5.1安装openssh7.8p1
#cd/usr/local/src
#tar-zxvfopenssh-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
#makeinstall
5.2 查看升级后的版本
# ssh -V
5.3 拷贝sshd启动脚本,contrib/目录下对应系统的启动脚本
cd contrib/
#cp suse/rc.sshd /etc/init.d/sshd
#chmod 755 /etc/init.d/sshd
5.4启动并设置开机启动
#chkconfig --add sshd
#chkconfig sshd on
5.5修改sshd文件
#vim/etc/ssh/sshd_config
增加PermitRootLoginyes一行
修改#PasswordAuthenticationyes行去掉注释#
修改两个,如果没有PermitRootLogin就手动添加进去
# service sshd start
六:
升级过程可能会出现的经典错误
6.1编译openssh时,出现找不到pam-devel
提前安装pam-devel这个rpm包
6.2编译过程中出现libpammissing
由于我们提前安装了pam-devel,后续进行编译:
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam--with*(此处省略)
这样的话就会报libpam在安装过程中去掉--with-pam就可以了
6.3编译过程出现host-keyError255
这是因为我们在编译的时候没有加上---with-md5-passwords,所以不会生成host-key
6.4编译过程中出现错误configure:
error:
***Can'tfindrecentOpenSSLlibcrypto(seeconfig.logfordetails)***
这是OpenSSL没有安装配置好所引起的错误,重新安装OpenSSL即可
6.5编译openssh依赖的是openssl是老版本
在/etc/f配置OpenSSL时把/usr/loacl/openssl/lib
把/usr/local/openssl/lib放置在lib64位后面,后续编译openssh时不会先检测到先升级后的openssl
6.7升级后ssh无法正常登录
需打开PermitRootLogin,PasswordAuthentication即可