编译安装升级openssh 8.4p1
2020-12-29 14:46
1111 查看
编译安装升级openssh 8.4p1
一、安装gcc
1.1、系统环境及注意事项
1.1.1、系统环境
# lsb_release -d Description: CentOS release 6.5 (Final) # uname -r 2.6.32-431.el6.x86_64 当前ssh版本 # ssh -V OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
1.1.2、注意事项
1、在升级过程中务必确保当前使用远程工具所连接的ssh会话不断开,如不能保证会话不断开请务必安装telnet服务,使用telnet来替代ssh会话连接服务器后操作升级,由于本例有本地kvm权限故未配置telnet服务升级,telnet安装故略过。
2、启动编译后的sshd服务请勿使用restart重启,直接启动即可。
1.2、使用iso配置yum源
由于系统为basic的安装模式,gcc包不全,所以需要先使用本币yum源的安装方法安装gcc安装。
1.1.1、挂载光驱
可以使用虚拟机挂载光驱的方式挂载本地Yum源,配置过程如下:
# mount /dev/cdrom /mnt # # ll /mnt 总用量 682 -r--r--r-- 2 root root 14 11月 29 2013 CentOS_BuildTag dr-xr-xr-x 3 root root 2048 11月 29 2013 EFI -r--r--r-- 2 root root 212 11月 28 2013 EULA -r--r--r-- 2 root root 18009 11月 28 2013 GPL dr-xr-xr-x 3 root root 2048 11月 29 2013 images dr-xr-xr-x 2 root root 2048 11月 29 2013 isolinux dr-xr-xr-x 2 root root 655360 11月 29 2013 Packages -r--r--r-- 2 root root 1354 11月 28 2013 RELEASE-NOTES-en-US.html dr-xr-xr-x 2 root root 4096 11月 29 2013 repodata -r--r--r-- 2 root root 1706 11月 28 2013 RPM-GPG-KEY-CentOS-6 -r--r--r-- 2 root root 1730 11月 28 2013 RPM-GPG-KEY-CentOS-Debug-6 -r--r--r-- 2 root root 1730 11月 28 2013 RPM-GPG-KEY-CentOS-Security-6 -r--r--r-- 2 root root 1734 11月 28 2013 RPM-GPG-KEY-CentOS-Testing-6 -r--r--r-- 1 root root 3380 11月 29 2013 TRANS.TBL
1.1.2、配置本地yum源文件
# cd /etc/yum.repos.d/ # ls CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo # mkdir bak # mv *.repo # vim iso.repo 复制以下内容到编辑的文件中并保存文件 [c6-media] name=CentOS-$releasever - Media baseurl=file:///mnt gpgcheck=0 enabled=1 # yum list | grep gcc <--检查确认yum源配置正常 libgcc.x86_64 4.4.7-4.el6 @anaconda-CentOS-201311272149.x86_64/6.5 compat-gcc-34.x86_64 3.4.6-19.el6 c6-media compat-gcc-34-c++.x86_64 3.4.6-19.el6 c6-media compat-gcc-34-g77.x86_64 3.4.6-19.el6 c6-media gcc.x86_64 4.4.7-4.el6 c6-media gcc-c++.x86_64 4.4.7-4.el6 c6-media gcc-gfortran.x86_64 4.4.7-4.el6 c6-media gcc-gnat.x86_64 4.4.7-4.el6 c6-media gcc-java.x86_64 4.4.7-4.el6 c6-media gcc-objc.x86_64 4.4.7-4.el6 c6-media gcc-objc++.x86_64 4.4.7-4.el6 c6-media libgcc.i686 4.4.7-4.el6 c6-media mingw32-gcc.x86_64 4.4.6-4.el6 c6-media mingw32-gcc-c++.x86_64 4.4.6-4.el6 c6-media mingw32-gcc-gfortran.x86_64 4.4.6-4.el6 c6-media mingw32-gcc-objc.x86_64 4.4.6-4.el6 c6-media mingw32-gcc-objc++.x86_64 4.4.6-4.el6 c6-media\
1.3、yum安装gcc
# rpm -qa |grep gcc <--确认当前安装的gcc包 libgcc-4.4.7-4.el6.x86_64 # yum -y install gcc <--安装gcc # rpm -qa |grep gcc libgcc-4.4.7-4.el6.x86_64 gcc-4.4.7-4.el6.x86_64
二、安装openssh8.4的依赖包
由于openssh 8.4p1需要openssl1.1.1和zlib的支持,为避免现有服务的影响,采用编译安装openssl1.1.1给openssh使用,使用由于centos6.5本地yum源的zilb包满足openssh 8.4p1所以zlib使用yum安装方式。
2.1、yum安装zlib包
# rpm -qa zlib <--确认现有安装的zlib包已有zlib但是缺少zlib-devel zlib-1.2.3-29.el6.x86_6 # yum -y install zlib-devel # rpm -qa zlib* zlib-1.2.3-29.el6.x86_64 zlib-devel-1.2.3-29.el6.x86_64
2.2、编译安装openssl
下载地址:https://files-cdn.cnblogs.com/files/luckjinyan/openssl-1.1.1g.tar.gz
# tar zvxf openssl-1.1.1g.tar.gz # cd openssl-1.1.1g # ./config --prefix=/usr/local/openssl # make -j 4 && make install <--可根据cpu核心数确定make -j的参数 # echo '/usr/local/openssl/lib' >> /etc/ld.so.conf # ldconfig -v 检查系统自带openssl和编译安装版本是否正常 # cd /usr/local/openssl/bin <--进入编译安装的目录 # pwd /usr/local/openssl/bin # ./openssl version <--确认编译版本正常 OpenSSL 1.1.1g 21 Apr 2020 # openssl version <--确认系统自带版本正常 OpenSSL 1.0.1e-fips 11 Feb 2013
三、编译安装openssh
3.1、查看、备份并卸载当前版本的ssh
在卸载现有版本前复制(克隆)当前会话,确保当前的ssh会话不断开。
# ssh -V OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013 # rpm -qa | grep openssh openssh-server-5.3p1-94.el6.x86_64 openssh-clients-5.3p1-94.el6.x86_64 openssh-5.3p1-94.el6.x86_64 备份原版本ssh配置 # cp -rf /etc/ssh /etc/ssh_bak # rpm -e --nodeps `rpm -qa | grep openssh` warning: /etc/ssh/sshd_config saved as /etc/ssh/sshd_config.rpmsave # rpm -qa | grep openssh 验证基础工具正常使用,执行命令无报错即可 # curl -V # wget -V # yum --version
3.2、编译安装openssh
下载地址:https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-8.4p1.tar.gz
# tar zvxf openssh-8.4p1.tar.gz # cd openssh-8.4p1 # ./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl # make -j 4 && make install <--可根据cpu核心数确定make -j的参数 复制命令文件 # cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd # cp /usr/local/openssh/bin/ssh /usr/bin/ssh # cp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen 复制启动管理文件,确保在解压的openssh-8.4p1编译目录下执行 # cp contrib/redhat/sshd.init /etc/init.d/sshd
3.3、修改编译后的配置文件
# vim /etc/ssh/sshd_config Port 20022 <--修改ssh使用的端口 PermitRootLogin yes <--允许root登录 PasswordAuthentication yes <--密码验证 在文件末尾加入如下内容: KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group14-sha1
3.4、添加开机启动并启动编译的openssh
在启动前请确保当前的ssh会话不断开。一定要注意的是不使用restart的选项启动而是直接start启动sshd服务。
启动编译后的ssh 8.4的服务,使用start参数启动,一定不要使用restart启动。 # /etc/init.d/sshd start Starting sshd: [确定] 服务启动后检查配置的端口正常 # netstat -tpln | grep ssh tcp 0 0 0.0.0.0:20022 0.0.0.0:* LISTEN 14821/sshd # chkconfig --list | grep sshd <--查询当前系统无sshd的开机启动 # chkconfig sshd on <--加入开机启动 # chkconfig --list | grep sshd <--确认开机启动加入正常 sshd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
3.5、验证升级
3.5.1、使用ssh远程工具重新连接
保持现有的会话不关闭,使用远程工具重新开启一个会话连接服务器,确认可正常连接至服务器。
3.5.2、检查升级后的版本
# ssh -V OpenSSH_8.4p1, OpenSSL 1.1.1g 21 Apr 2020
至此openssh-8.4p1升级成功,使用正常。
相关文章推荐
- 用一把吃鸡的时间,免费上云搭建网站应用
- 【老李瞎折腾】005、使用Docker安装Gitea来搭建自己的源码托管平台
- 【老李瞎折腾】004、使用Docker安装MySQL数据库
- Linux nsenter 命令简介及 切换宿主机网络为docker容器网络实践
- .NET 云原生架构师训练营(模块二 基础巩固 EF Core 基础与配置)--学习笔记
- CentOS6停止维护后yum源更换
- 如何在 CentOS 中安装指定版本的 PHP
- 持续提升程序员幸福指数——使用abp vnext设计一款面向微服务的单体架构
- 【Tomcat】手写迷你版Tomcat
- CentOS 8.2部署Rundeck3.3.7作业自动管理服务器
- shell study-18day--正则表达式介绍
- shell study-17day--expect登陆远程主机
- shell study-16day--mysql数据库备份
- shell study-15day--shell函数
- shell study-14day--shift(参数左移)
- shell study-13day--跳出循环(break、continue)
- shell study-12day--shell实例
- shell脚本和awk实践
- shell study-9day--shell流程控制语句case
- .NET 云原生架构师训练营(模块二 基础巩固 EF Core 介绍)--学习笔记