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 的要求

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


升级 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_bak3.卸载旧的openssh
rpm -qa|grep openssh #查看已经安装的
rpm -e openssh openssh-clients openssh-server #卸载
4.configure构建环境
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-tcp-wrappers --without-hardening
#直接构建会报错,如下:

crypto是什么呢? 是OpenSSL 加密库(lib), 这个库在centos需要openssl-devel包 ,在ubuntu中需要 libssl-dev
yum install openssl-devel -y中间可能还会遇到一个错误,如图

ubuntu安装的是:apt install libpam-dev
#缺少pam
yum install pam-devel -y出现此截图说明构建环境已经完成

5.编译安装
make
make install如图安装成功

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/sshd2.复制配置文件并设置允许root用户远程登录
vim /etc/ssh/sshd_config #修改sshd配置
PermitRootLogin yes
PasswordAuthentication yes
#并去掉注释3.赋权
chmod u+x /etc/init.d/sshd4.添加到开机启动项
chkconfig --add sshd
chkconfig sshd on5.重启服务
systemctl restart sshd以上步骤操作完成验证版本
ssh -V