查看是否有 glibc-devel 、gcc 、gcc-c++、 zlib-devel
glibc-devel 64bit:strings /lib64/libc.so.6 |grep GLIBC 32bit:strings /lib/libc.so.6 |grep GLIBC gcc gcc -v gcc-c++ g++ -v zlib-devel rpm -qa |grep zlib这里需要注意一下的就是,输入上面这行命令后应该会出现两个zlib
一个是zlib,另一个则是zlib-devel
如果没有zlib-devel,只有zlib
请下载版本相同的zlib和zlib-devel rpm包,
进行同时安装,命令如下:
rpm -Uvh ./*.rpm
不用卸载之前的zlib包,安装完成后,之前的包会自动移除
准备包 openssh-7.8p1.tar.gz openssl-1.0.2h.tar.gz版本自行选择,但是注意 openssh 对应的 openssl
还有就是一定要先升级 openssl
卸载旧版本的openssl包
查看openssl包 rpm -qa|grep openssl 卸载openssl包 rpm -e --nodeps (包名)解压openssl包
tar -zxvf openssl-1.0.2h.tar.gz进入解压路径:
cd openssl-1.0.2h安装编译openssl:
./config --prefix=/usr --shared && make && make install创建软链接:
ln -s /usr/lib64/libcrypto.so.1.0.0 /usr/lib64/libcrypto.so.10 ln -s /usr/lib64/libssl.so.1.0.0 /usr/lib64/libssl.so.10验证版本信息
openssl version -a到此openssl升级完毕
步骤二:升级openssh备份ssh文件 /etc/ssh
cp -r /etc/ssh/ /opt/mypackage/ssh-bf(后面这个目录自行创建)解压openssh包
tar -zxvf openssh-7.8p1.tar.gz进入解压路径
cd openssh-7.8p1安装编译
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-zlib --with-md5-passwords make && make install配置(使用root登录)
echo “PermitRootLogin yes” >> /etc/ssh/sshd_config复制启动脚本:
cp -p contrib/redhat/sshd.init /etc/init.d/sshd (复制) chmod +x /etc/init.d/sshd (添加执行权限) chkconfig --add sshd (添加sshd服务)设置开机启动:
chkconfig sshd on chkconfig --list sshd查看服务是否设定为开机自启
systemctl list-unit-files验证版本信息:
ssh -V 升级重点注意事项,不注意会使ssh远程工具无法连接 1.升级过后可能会因etc/ssh/ssh_host_ecdsa_key文件的权限过大 ,导致ssh工具连接不上处理方法:
https://blog.csdn.net/peaktravel/article/details/85529927
查看状态命令 /usr/sbin/sestatus -v
临时关闭命令 setenforce 0
永久关闭需更改配置文件中的selinux
vim /etc/sysconfig/selinux
SElinux = disable
Port =22
Protocol 2
PermitRootLogin yes
PermitEmptyPasswords yes
PasswordAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
finally 重启ssh服务 service sshd restart 或者 systemctl restart sshd 到此openssh升级完毕