> 技术文档 > Centos系统下openssh升级到10.0p2_openssh-10.0p2.tar.gz

Centos系统下openssh升级到10.0p2_openssh-10.0p2.tar.gz

​​​​​​

升级与操作有风险,请谨慎操作!!!本公众号的内容只在测试环境上验证,不对您的任何操作行为负责。

     还有学员不知道如何在服务器版系统上源码编译升级openssh,怎么办?信创课堂第12期开课,本文将在统Centos7.x服务器操作演示,其他版本类似。

     OpenSSH升级过程会断掉ssh连接,请谨慎操作!!!

     操作之前,请提前安装telnet,使用telnet连接到服务器,此处略!!

1、查看当前系统OpenSSH版本和OpenSSL版本,并将Zlib、openssl-1.1.1f、 openssh-10.0p2源码包上传到服务器。

现提供该测试版本,若需要最新版本,请到官方网站下载。链接: https://pan.baidu.com/s/1zYtmELch53ZWDe-vM3_RDw?pwd=bafk 提取码: bafk)

2、编译安装zlib工具,编译安装命令如下

[root@localhost ~]#  tar -zxvf zlib.tar.gz [root@localhost ~]# cd zlib-1.3.1/[root@localhost ~]# ./configure --prefix=/usr/local/zlib[root@localhost ~]#  make && make install 

安装完成后,没有报错,表明已经安装成功

3、编译安装Openssl查看系统当前版本和内核信息

[root@localhost ~]# tar -zxvf openssl-1.1.1f.tar.gz      [root@localhost ~]#  cd ../openssl-1.1.1f/[root@localhost ~]#  ./config --prefix=/usr/local/ssl -d shared[root@localhost ~]#  make && make install 

查看是否安装成功,没有报错表明安装成功

4、更新一下动态链接库,将ssl库写入/etc/ld.so.conf文件,执行ldconfig -v

[root@localhost ~]# echo \'/usr/local/ssl/lib\' >> /etc/ld.so.conf

5、编译安装Openssh10.0p2

[root@localhost ~]# tar -zxvf openssh-10.0p2.tar.gz[root@localhost ~]#cd ../openssh-10.0p1/[root@localhost ~]# ./configure --prefix=/usr/local/openssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/ssl  --without-openssl-header-check[root@localhost ~]# make && make install 

参数说明:

--prefix=/usr/local/openssh ##prefix选项是配置安装的路径,如果不配置该选项,安装后可执行文件默认放在/usr/local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr/local/share--with-zlib=/usr/local/zlib ## 使用zlib库--with-ssl-dir=/usr/local/ssl  ##使用ssl--without-openssl-header-check  ##不使用openssl头文件,若系统存在同版本openssl头文件,可以不用加这个参数,若编译的openssl版本和系统的openssl版本不一样,则需要加这个参数

没有报错,表示configure配置校验检查正常,就可以直接安装了

执行make && make install 安装,没有报错,表明安装成功

6、卸载原有的openssh包,加参数--nodeps表示强制卸载,查看是否已经卸载完毕

[root@localhost ~]#  rpm -e openssh openssh-server openssh-clients openssh-help  --nodeps

7、配置并重启ssh

[root@localhost ~]# cp /usr/local/openssh/bin/ssh* /usr/bin/  ##拷贝可执行文件[root@localhost ~]# cp  contrib/redhat/sshd.init /etc/init.d/sshd  ##拷贝自启动脚本[root@localhost ~]# cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd  ##系统管理程序与bin目录一样[root@localhost ~]# systemctl  restart sshd [root@localhost ~]#  chkconfig --add sshd  ## 将该服务到chkconfig数据库,并添加到启动项中[root@localhost ~]# systemctl  restart sshd ##重启sshd服务[root@localhost ~]#   ssh -V ## 查看当前ssh版本

8、重启服务器,再次验证是否可以远程ssh登录服务器

注意:升级完openssh后,配置文件是/usr/local/openssh/etc/sshd_config,而不是/etc/ssh/sshd_config,若要修改sshd配置,需要对/usr/local/openssh/etc/sshd_config文件修改,重启服务,才可以生效。