OpenSSH 9.2P1升级以及版本显示的处理过程

openssh,2p1,升级,以及,版本,显示,处理过程 · 浏览次数 : 852

小编点评

**维护时间:2023-2-9** 该维护包含以下内容: * OpenSSH9.2P1版本更新至OpenSSH_99.99版本。 * OpenSSH配置文件中的`PermitRootLogin`选项被设置为`yes`,允许本地用户登录远程服务器。 * `sshd_config`配置文件中`PermitRootLogin`选项被设置为`yes`,允许本地用户登录远程服务器。 * `sshd_config`配置文件中`AllowUsers`选项被设置为`*`,允许所有用户登录远程服务器。 * `sshd_config`配置文件中`PasswordAuthentication`选项被设置为`no`,允许使用密码登录远程服务器。 * `sshd_config`配置文件中`PermitUserPasswordAuthentication`选项被设置为`no`,不允许使用密码登录远程服务器。 * `sshd_config`配置文件中`PubkeyAuthentication`选项被设置为`no`,允许使用公钥登录远程服务器。 * `sshd_config`配置文件中`PasswordAuthentication`选项被设置为`no`,不允许使用密码登录远程服务器。

正文


说明

本次维护的时间是 2023-2-9
最新已发布的补丁是 OpenSSH9.2P1版本
其他本本应该是类似处理. 

下载介质

在 OpenSSH官网打开相关界面. 
http://www.openssh.com/
打开
For Other systems
打开release界面.比如我这边使用这个mirror
https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/

最新的介质为:
https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.2p1.tar.gz

前提处理

yum install openssl-devel krb5-devel pam-devel  rpm-build -y
mkdir /root/rpmbuild/{RPMS,SOURCES,SPECS}
解压缩文件并且存放于具体路径
将 openssh-9.2p1 存放于/root/rpmbuild/SOURCES 
将 openssh.spec存放于 /root/rpmbuild/SPECS
注意原始文件路径为:
/openssh-9.2p1/contrib/redhat

与之前的文档一样, 需要修改:

注意需要修改一下 如下三个配置:
%global no_x11_askpass  1
%global no_gnome_askpass 1
#BuildRequires: openssl-devel < 1.1
#注意将 最后一个配置文件注释掉.

修改版本号信息

注意修改openssh的版本号文件
文件在:
/openssh-9.2p1/version.h
注意修改的信息为:
#define SSH_VERSION   "OpenSSH_9.2"
修改为
#define SSH_VERSION   "OpenSSH_99.99"
便于混淆版本号

安装高版本的openssl1.1.1s

下载指代的tar包
进行解压缩
然后执行 config
cd openssl-1.1.1s/
./config --prefix=/usr/local/openssl-1.1.1s
执行make
需要注意 openssl的编译时间非常长

# 我有一台服务没有做下面的操作也可以了 ,尴尬 
ln -s /usr/local/openssl-1.1.1s /usr/local/openssl
mv /usr/bin/openssl /usr/bin/openssl_old

ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

进行编译和打包

cd /root/rpmbuild/SOURCES/
tar -czvf openssh-9.2p1.tar.gz  openssh-9.2p1/
# 注意解压缩为了修改版本信息.
# 打包rpm需要使用 原始的tar包. 
cd /root/rpmbuild/SPECS
time rpmbuild -bb openssh.spec

生成与安装rpm

执行了rpmgbuild 后会在指定路径下形成如下的rpm包
cd /root/rpmbuild/RPMS/x86_64/
然后生成文件主要如下:
-rw-r--r-- 1 root root  667440 2月   9  openssh-9.2p1-1.el7.x86_64.rpm
-rw-r--r-- 1 root root  640588 2月   9  openssh-clients-9.2p1-1.el7.x86_64.rpm
-rw-r--r-- 1 root root 3267580 2月   9  openssh-debuginfo-9.2p1-1.el7.x86_64.rpm
-rw-r--r-- 1 root root  471952 2月   9  openssh-server-9.2p1-1.el7.x86_64.rpm

然后可以在此目录下执行 yum localinstall *.rpm -y 

注意升级了较高版本需要修改一下pam的级别

cat </etc/pam.d/sshd <<EOF
#%PAM-1.0
auth       required     pam_sepermit.so
auth       include      password-auth
account    required     pam_nologin.so
account    include      password-auth
password   include      password-auth
## pam_selinux.so close should be the first session rule
session    required     pam_selinux.so close
session    required     pam_loginuid.so
## pam_selinux.so open should only be followed by sessions to be executed in the user context
session    required     pam_selinux.so open env_params
session    optional     pam_keyinit.so force revoke
session    include      password-auth
EOF

需要修改一下 sshd的配置文件

vim /etc/ssh/sshd_config
将如下部分修改为: 
PermitRootLogin yes
也可以执行命令
注意需要使用 :wq! 保存只读文件. 

方法2: 
sed -i '/PermitRootLogin/d' /etc/ssh/sshd_config
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config

重启服务:
systemctl restart sshd

版本验证

[root@centos7 x86_64]# ssh -V
OpenSSH_99.99p1, OpenSSL 1.0.2k-fips  26 Jan 2017
[root@centos7 x86_64]# telnet 127.0.0.1 22
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
SSH-2.0-OpenSSH_99.99

如果不升级仅修改telnet显示ssh版本的方法

strings /usr/sbin/sshd | grep OpenSSH
获取一个版本号 比如 OpenSSH_7.4 或者是其他任意
scp /usr/sbin/sshd /usr/sbin/sshd_jnxlh -a

sed -i 's/OpenSSH_7.4/OpenSSH_99.99/g' /usr/sbin/sshd
systemctl restart sshd
也可以实现. 但是实际版本号未修改. 

ssh-copy-id的使用说明

这是一个脚本, 而不是二进制文件
一般存放的路径为:
openssh-9.2p1/contrib/ssh-copy-id
将这个文件复制到 /usr/bin 目录下并且设置可执行权限即可. 

与OpenSSH 9.2P1升级以及版本显示的处理过程相似的内容:

OpenSSH 9.2P1升级以及版本显示的处理过程

说明 本次维护的时间是 2023-2-9 最新已发布的补丁是 OpenSSH9.2P1版本 其他本本应该是类似处理. 下载介质 在 OpenSSH官网打开相关界面. http://www.openssh.com/ 打开 For Other systems 打开release界面.比如我这边使用这个m

openssh 修改版本号显示

#背景介绍:G端项目经常收到相关漏洞但有时升级最新版本(8.8p)还是会有相关漏洞(CVE-2020-15778),只能禁用相关命令或修改版本号 #漏洞名称OpenSSH 命令注入漏洞(CVE-2020-15778) #详细描述OpenSSH(OpenBSD Secure Shell)是OpenBS

[转帖]编译升级openssl和openssh版本脚步

https://www.cnblogs.com/zhangb8042/p/15800738.html #!/bin/bash build_dir=/data/project_build openssl_download=https://www.openssl.org/source/openssl-1

[转帖]ssh和scp配置

SSH="ssh -q -o MACs=umac-64@openssh.com -o StrictHostKeyChecking=no -o GSSAPIAuthentication=no -p"SCP="scp -q -o MACs=umac-64@openssh.com -o StrictHos

readhat8搭建SFTP双机高可用并配置Rsync数据实时同步

环境准备: 主机 host-61-118 : 192.168.61.118 host-61-119:192.168.61.119 vip:192.168.61.220 检测openssh版本,版本必须大于4.8.p1,否则需要升级openssh版本 [root@host-61-118 ~]# ssh

ed25519加密签名算法及应用

刷知乎时看到一篇文章,很感兴趣,来学习一下! 转载文章:ed25519加密签名算法及应用 初次使用Github时都需上传本地的公钥,这时需要提前在本地生成密钥对,使用的是ssh-keygen命令: ssh-keygen -C "your_email@example.com" 该命令属于OpenSSH

[转帖]OpenSSL版本历史

OpenSSL版本历史 新闻日志 这是所有 OpenSSL 公告的简洁日志。它们几乎是发布通知。 日期物品 2021 年 7 月 29 日OpenSSL 3.0 的 Beta 2 现已推出。这是一个候选版本:请下载并测试它 2021 年 6 月 17 日新博客文章:OpenSSL 3.0 候选版本

OpenSSL 升级、回滚

ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with OpenSSL 1.0.2k-fips 26 Jan 2017. See: https://gith

OpenSSL 生成 RootCA (根证书)并自签署证书(支持 IP 地址)

背景 某机房内部访问需要配置 HTTPS,网上找的一些证书教程都不是特别好,有些直接生成证书,没有根 CA 的证书导致信任不了 Ubuntu 机器,有些教程只有域名生成,没有 IP 生成,有些甚至报错。故发一个笔者在 Ubuntu 22.04 机器上测试正确可用的流程,这里使用 10.12.0.2

Ubuntu中安装OpenSSL

一、前期准备 1.1 压缩包下载 在安装openssl之前,我们需要下载对应的压缩包 https://www.openssl.org/source/openssl-3.0.1.tar.gz 此压缩包可以选择win上下载后解压再复制到本地虚拟机中,也可以选择直接在本地虚拟机中使用wget命令进行下载。