十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
ssh -V查看当前版本
昌邑网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站设计等网站项目制作,到程序开发,运营维护。成都创新互联公司于2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司。
在这里使用脚本升级(前提:你的网络是可以连接外网的)
yum -y install gcc
写个update.sh的文件,直接bash搞起
ssh -V查看版本有没有升级
说明:
1.卸载openssh,命令就是这个yum -y remove openssh-当前版本(8.5p)
2.yum库指向本地的源
3.重新安装openssh,yum -y install openssh,openssh-server openssh-clients(这三个包)
4.启动这个服务systemctl restart sshd
5.执行上面的脚本更新版本
6.重新启动这个服务systemctl restart sshd
7.修改配置文件/etc/ssh/sshd_config(按照需求改它的配置文件)
8.重新启动这个服务systemctl restart sshd
Redhat企业级系统的6.7版自带SSH版本为OpenSSH_5.3p1, 基于审计和安全性需求,建议将其升级到最新的OpenSSH版本,当前官网最新版本为7.4p1. 本文档将详细介绍OpenSSH升级的完整步骤。需要说明的是,升级过程中虽然涉及zlib、openssl和openssh的卸载,但是并不会导致当前的ssh远程连接会话断开,因此是可以将整个升级过程写成自动化脚本以进行自动批量部署的。
两种方式,以红帽发行版的为例:
1、直接rpm包方式:1)直接在线yuminstall2)红帽官网下载对应版本的rpm包,然后rpm-Uvh*
2、源码包方式:首先卸载自带的版本,然后到openssh官网下载源码包,解压,编译、安装。
1、操作方法
1)升级openssh可能会导致ssh无法使用,因此需保证服务器的telnet可以使用。以免ssh无法使用时,连不上设备。
在前期做linux主机基线整改时禁用了telnet服务,查看当时整改时的脚本,发现禁用telnet服务是通过修改/etc/services文件,在telnet
23/tcp前加#实现的。删掉前面的#并通过service xinetd
start启动telnet服务后,发现仍然无法telnet服务器。提示如下:
Unencrypted
connection refused. Goodbye.
Connection closed
by foreign host.
搜寻解决方法。有人说ekrb5-telnet是一个需要加密的telnet服务,把这个服务启动上需要加密,将/etc/xinetd.d/ekrb5-telnet里面的disable改成=yes,再重启telnet服务service xinetd
restart就可以了,如果 ekrb5-telnet里面的disable=yes出现修改后又变回no的情况,执行
chkconfig ekrb5-telnet off可将其禁用。
尝试后发现可以telnet了。
2)在openssl的官网上下载最新openssl 1.0.1l版本的安装包,在openssh的官网上下载最新openssh 6.7p1的安装包。并通过ftp传到服务器上。
3)安装openssl
tar -zxvf
openssl-1.0.1l.tar.gz 解压openssl的安装包
cd
openssl-1.0.1l 进入解压的目录
./config
--prefix=/usr/local --shared
make
make
test
make
install
安装完毕后通过openssl version -a
查看openssl版本安装是否正确
4)安装openssh
tar -zxvf
openssh-6.7p1.tar.gz 解压openssh的安装包
cd
openssh-6.7p1 进入解压的目录
./config
--prefix=/usr/local --with-pam --with-zlib
--with-md5-passwords
make
make
install
安装完毕后service sshd restart 重启ssh服务
通过ssh -V查看openssh版本安装是否正确
2、注意事项
1)安装openssl时./config
--prefix=/usr/local --shared这一条命令一定要加上--shared选项,否则openssh编译的时候会找不到新安装的openssl的library,
会报错: openssl的 header和library版本不匹配。
2)安装openssl时make
test这一步是进行 SSL 加密协议的完整测试,如果出现错误就要一定先找出原因,否则一味继续可能导致 SSH 不能使用。
3)安装openssh,./config时,如报下面错误:configure: error: PAM headers not
found
运行rpm -qa
| grep pam
pam_ccreds-3-5
pam-0.99.6.2-4.el5
pam_pkcs11-0.5.3-23
pam_passwdqc-1.0.2-1.2.2
pam_smb-1.1.7-7.2.1
pam_krb5-2.2.14-10
发现有pam-0.99.6.2-4.el5,但没有对应的pam-devel-0.99.6.2-4.el5。
在网上找到pam-devel-0.99.6.2-4.el5.i386.rpm,我是在这个网站上搜索到rpm包,如果要找其他的rpm包,也可以在这个网站上找。
运行rpm -ivh
pam-devel-0.99.6.2-4.el5.i386.rpm进行安装。
安装完毕后再进行openssh的./config,正常。
4)安装完openssh,测试能正常ssh到服务器后,记得将telnet服务关闭,修改/etc/services文件,在telnet 23/tcp前加上#即可