黄金屋
TencentOS

TencentOS升级openssh8.2

注意:升级 openssh 风险较高,建议提前备份数据!!!

先下载 openssh8.2 的包

下载地址:https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.2p1.tar.gz (opens in a new tab)

下载好包后查看一下 INSTALL 文件,查看安装 openssh8.2 的要求

image

zlib 1.1.4 or 1.2.1.2

openssl 1.0.x >= 1.0.1 or 1.1.0 >= 1.1.0g or 1.1.1

查看 zlib 和 openssl 版本,不满足的需要升级

openssl version #查看openssl版本,下载地址:https://www.openssl.org/source/openssl-1.1.1g.tar.gz
rpm -qa|grep zlib #查看zlib版本,下载地址:https://zlib.net/fossils/

示例环境:TencentOS3.1

image

image

升级 openssh

1.解压二进制包

tar -zxvf openssh-8.2p1.tar.gz #解压开始下载的二进制包
cd openssh-8.2p1 #进入对应目录

2.备份文件

cp -r /etc/ssh /etc/ssh_bak #备份原来的ssh配置文件
cp /etc/init.d/sshd /etc/init.d/sshd_bak #如果显示没有则跳过,做下一步
cp /usr/sbin/sshd /usr/sbin/sshd_bak
cp /usr/bin/ssh /usr/bin/ssh_bak

3.卸载旧的openssh

rpm -qa|grep openssh #查看已经安装的
rpm -e openssh openssh-clients openssh-server #卸载

image

4.configure构建环境

./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-tcp-wrappers --without-hardening
#

直接构建会报错,如下:

image

crypto是什么呢? 是OpenSSL 加密库(lib), 这个库在centos需要openssl-devel包 ,在ubuntu中需要 libssl-dev

yum install openssl-devel -y

中间可能还会遇到一个错误,如图

image

ubuntu安装的是:apt install libpam-dev

#缺少pam
yum install pam-devel -y

出现此截图说明构建环境已经完成

image

5.编译安装

make
make install

如图安装成功

image

1.备份sshd文件

mv /etc/init.d/sshd /etc/init.d/sshd_old

注意:
如果执行这步提示“mv:无法获取"/etc/init.d/sshd"的文件状态(stat):没有那个文件或目录”,则忽略此步继续执行2即可

cp contrib/redhat/sshd.init /etc/init.d/sshd

2.复制配置文件并设置允许root用户远程登录

vim /etc/ssh/sshd_config #修改sshd配置
PermitRootLogin yes
PasswordAuthentication yes
#并去掉注释

3.赋权

chmod u+x /etc/init.d/sshd

4.添加到开机启动项

chkconfig --add sshd
chkconfig sshd on

5.重启服务

systemctl restart sshd

以上步骤操作完成验证版本

ssh -V

image