一、openssl 升级
1. 下载 openssl,并上传到服务器,也可通过 wget 获取
2. 解压缩 openssl:tar -zxvf openssl-1.0.2l.tar.gz
3. 进入目录:cd openssl-1.0.21
4.
5. 注意:如果此过程中出现某些软件的版本低或找不到则升级或安装(本次升级在 openssl
的时候出现,由于最小安装导致的主要是 gcc,perl,zlib 提示找不到头文件),可通过
yum install gcc;yum install perl 实现,但 zlib 升级的话,说是最新版本,无奈,只好下载
较新的 zlib 包 tar –zxvf zlibxxx; cd zlibxxx; ./configure; make; make install 安装
./config shared zlib
ldconfig -v | grep openssl
6. make
7. make install
8. echo "/usr/local/ssl/lib/" >> /etc/ld.so.conf
9.
10. rm -rf /usr/bin/openssl
11. rm -rf /usr/include/openssl/
12. ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
13. ln -s /usr/local/ssl/include/openssl /usr/include/openssl
14. 查看 openssl 版本,如为最新版本则升级成功:openssl version
二、openSSH 升级:
在网上查找了很多方法,升级的时候屡战屡败,到最后版本升级好了,但是无论如何不能登
录,最后参考 http://www.linuxidc.com/Linux/2017-05/143568.htm 的后半部分,注意,一定
是后半部分,升级成功,也能登录,写出来供大家参考。
1. 上传或下载 openssh-7.5p1.tar.gz 包(下载页面:http://www.openssh.com/portable.html)
2. 停止 sshd 服务:systemctl stop sshd.service
3. 备份原有的 ssh :mv /etc/ssh /etc/ssh.old
4. 卸载原有 openssh:yum remove openssh
5. 进入安装包所在目录解压缩安装包:tar zxvf openssh-7.5p1.tar.gz
6. 进入解压缩后的目录:cd openssh-7.5p1
7. ./configure
8. make
9. make install
10. 拷贝 ssh 服务文件:cp ./contrib/redhat/sshd.init /etc/init.d/sshd
11. 修改 SSHD 服务文件: vi /etc/init.d/sshd
chmod +x /etc/init.d/sshd
修改以下内容:SSHD=/usr/sbin/sshd 为 SSHD=/usr/local/sbin/sshd
/usr/sbin/ssh-keygen -A 为 /usr/local/bin/ssh-keygen -A
保存退出
12. 加入系统服务:chkconfig --add sshd
13. 查看系统启动服务是否增加改项:chkconfig --list |grep sshd
sshd
0:off
1:off
2:on
3:on
4:on
5:on
6:off
14. 允许 root 用户远程登录:cp sshd_config /etc/ssh/sshd_config
此时如果提示没有 ssh 目录,可以将备份的 ssh 文件还原:mv /etc/ssh.old /etc/ssh
vim /etc/ssh/sshd_config 修改 PermitRootLogin yes,并去掉注释,
15. 配置允许 root 用户远程登录的配 置文件生效,因为 openssh 安装好默认是不执 行
sshd_config 文件的,所以即使
在 sshd_config 中配置允许 root 用户远程登录,但是不加上这句命令,还是不会生效!
vi /etc/init.d/sshd
在 ‘ $SSHD $OPTIONS && success || failure ’ 这 一 行 上 面 加 上 一 行 ‘ OPTIONS="-f
/etc/ssh/sshd_config"
’(注意,最外面的单引号不需要的,这里只是为了表示方便)
保存退出
16. 重启 :service sshd restart
17. 如 果 重 启 的 时 候 出 现 警 告 : Warning : sshd.service changed on disk. Run 'systemctl
daemon-reload' to
(centos 7 位 systemctl restart sshd.service)
reload units
则先执行 systemctl daemon-reload 再 systemctl restart sshd.service