Redhat Linux x64 升级SSH到OpenSSH_7.4p1说明?档
步骤
1、准备?作
1.1、下载相关软件包
需求软件包: openssh-7.4p1.tar.gz openssl-1.0.2k.tar.gz
http://www.openssl.org/
http://www.openssh.org/
1.2、查看系统当前软件版本
# rpm -q zlib
# openssl version
# ssh -V
2、正式升级
2.1、升级OpenSSL
官?升级?档: http://www.linuxfromscratch.org/blfs/view/cvs/postlfs/openssl.html
A、备份当前openssl
# find / -name openssl
/usr/lib64/openssl
/usr/bin/openssl
/etc/pki/ca-trust/extracted/openssl
# mv /usr/lib64/openssl /usr/lib64/openssl.old
# mv /usr/bin/openssl /usr/bin/openssl.old
# mv /etc/pki/ca-trust/extracted/openssl /etc/pki/ca-trust/extracted/openssl.old
如下两个库?件必须先备份,因系统内部分?具(如yum、 wget等)依赖此库,?新版OpenSSL不包含这两
个库
# cp /usr/lib64/libcrypto.so.10 /usr/lib64/libcrypto.so.10.old
# cp /usr/lib64/libssl.so.10 /usr/lib64/libssl.so.10.old
B、卸载当前openssl
# rpm -qa | grep openssl
openssl-1.0.1e-42.el6.x86_64
# rpm -e –nodeps openssl-1.0.1e-42.el6.x86_64
# rpm -qa | grep openssl
或者直接执?此命令: rpm -qa |grep openssl|xargs -i rpm -e –nodeps {}
C、解压openssl_1.0.2k源码并编译安装
# tar -zxvf openssl-1.0.2k.tar.gz
# cd openssl-1.0.2k
# ./config –prefix=/usr –openssldir=/etc/ssl –shared zlib #必须加上–shared,
否则编译时会找不到新安装的openssl的库? 错
# make
# make test #必须执?这?步结果为pass才能继续,否则即使安装完
成, ssh也?法使?
# make install
# openssl version -a #查看是否升级成功
D、恢复共享库
由于OpenSSL_1.0.2k不提供libcrypto.so.10和libssl.so.10这两个库,?yum、 wget等?具?依赖此库,因
此需要将先前备份的这两个库进?恢复,其他的可视情况考虑是否恢复。
# mv /usr/lib64/libcrypto.so.10.old /usr/lib64/libcrypto.so.10
# mv /usr/lib64/libssl.so.10.old /usr/lib64/libssl.so.10
2.2、升级OpenSSH
官?升级?档: http://www.linuxfromscratch.org/blfs/view/svn/postlfs/openssh.html
A、备份当前openssh
# mv /etc/ssh /etc/ssh.old
B、卸载当前openssh
# rpm -qa | grep openssh
openssh-clients-5.3p1-111.el6.x86_64
openssh-server-5.3p1-111.el6.x86_64
openssh-5.3p1-111.el6.x86_64
openssh-askpass-5.3p1-111.el6.x86_64
# rpm -e –nodeps openssh-5.3p1-111.el6.x86_64
# rpm -e –nodeps openssh-server-5.3p1-111.el6.x86_64
# rpm -e –nodeps openssh-clients-5.3p1-111.el6.x86_64
# rpm -e –nodeps openssh-askpass-5.3p1-111.el6.x86_64
# rpm -qa | grep openssh
或者直接执?此命令: rpm -qa |grep openssh|xargs -i rpm -e –nodeps {}
C、 openssh安装前环境配置
建立SSH用户目录
#cat /etc/passwd|grep ssh
# install -v -m700 -d /var/lib/sshd
# chown -v root:sys /var/lib/sshd
# groupadd -g 50 sshd
# useradd -c ‘sshd PrivSep’ -d /var/lib/sshd -g sshd -s /bin/false -u 50 sshd
D、解压openssh_7.4p1源码并编译安装
# tar -zxvf openssh-7.4p1.tar.gz
# cd openssh-7.4p1
# ./configure –prefix=/usr –sysconfdir=/etc/ssh –with-md5-passwords
–with-pam –with-zlib –with-openssl-includes=/usr –with-privsep-path=/var
/lib/sshd
# make
# make install
E、 openssh安装后环境配置
# 在openssh编译?录执?如下命令
# install -v -m755 contrib/ssh-copy-id /usr/bin
# install -v -m644 contrib/ssh-copy-id.1 /usr/share/man/man1
# install -v -m755 -d /usr/share/doc/openssh-7.4p1
# install -v -m644 INSTALL LICENCE OVERVIEW README* /usr/share
/doc/openssh-7.4p1
# ssh -V #验证是否升级成功
F、启?OpenSSH服务
# 在openssh编译?录执?如下?录
# echo ‘X11Forwarding yes’ >> /etc/ssh/sshd_config
# echo “PermitRootLogin yes” >> /etc/ssh/sshd_config #允许root?户通过ssh登录
# cp -p contrib/redhat/sshd.init /etc/init.d/sshd
# chmod +x /etc/init.d/sshd
# chkconfig –add sshd
# chkconfig sshd on
# chkconfig –list sshd
# service sshd restart
注意:如果升级操作?直是在ssh远程会话中进?的,上述sshd服务重启命令可能导致会话断开并?法使?ssh
再?登?(即ssh未能成功重启),此时需要通过telnet登?再执?sshd服务重启命令。
3、善后?作
新开启远程终端以ssh [ip]登录系统,确认?切正常升级成功后,只需关闭telnet服务以保证系统安全性即可。
# mv /etc/securetty.old /etc/securetty
# chkconfig xinetd off
# service xinetd stop
如有必要,可重新开启防?墙
# service iptables start
# chkconfig iptables on
如需还原之前的ssh配置信息,可直接删除升级后的配置信息,恢复备份。
# rm -rf /etc/ssh
# mv /etc/ssh.old /etc/ssh
结束
文章知识点与官方知识档案匹配,可进一步学习相关知识CS入门技能树Linux入门初识Linux25309 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!