创新网站建设方案书,东莞效果好的营销型网站建设,wordpress模板建站教程视频,旅游网站建设的好处需求 Centos9系统升级OpenSSH和OpenSSL OpenSSH升级为openssh-9.8p1 OpenSSL默认为OpenSSL-3.2.2#xff08;根据需求进行升级#xff09; 将源码包编译为rpm包 查看OpenSSH和OpenSSL版本
ssh -V下载源码包并上传到服务器
openssh最新版本下载地址
wget https://cdn.openb…需求 Centos9系统升级OpenSSH和OpenSSL OpenSSH升级为openssh-9.8p1 OpenSSL默认为OpenSSL-3.2.2根据需求进行升级 将源码包编译为rpm包 查看OpenSSH和OpenSSL版本
ssh -V下载源码包并上传到服务器
openssh最新版本下载地址
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gzOpenSSL下载地址
wget https://github.com/openssl/openssl/releases/download/openssl-3.2.3/openssl-3.2.3.tar.gz编译工具下载配置
https://gitee.com/boforest/boforest/raw/master/OpenSSH/openssh-rpms-main.zip
unzip openssh-rpms-main.zip
cd openssh-rpms-main/compile.sh编译脚本 el5、el6、el7对应CentOS5、6、7三个系统编译相关的参数由SPECS目录下的openssh.spec控制。 编译好的rpm包放在RPMS目录下 pullsrc.shopenssh相关源码下载脚本 version.env定义了openssh及openssl源码的版本信息 CentOS Stream release 9 可以使用 el7 的版本编译
修改OpenSSL版本
$ pwd
/opt/openssh-rpms-main
$ vim version.env将下载的源码包放到downloads目录
$ pwd
/opt/openssh-rpms-main/downloads
$ ls
openssh-9.8p1.tar.gz openssl-3.2.3.tar.gz x11-ssh-askpass-1.2.4.1.tar.gz修改openssh.spec文件
vim el7/SPECS/openssh.specinstall -m755 contrib/ssh-copy-id $RPM_BUILD_ROOT/usr/bin/ssh-copy-id%attr(0755,root,root) %{_bindir}/ssh-copy-id下载编译工具和依赖
yum groupinstall -y Development Tools
yum install -y make rpm-build pam-devel krb5-devel zlib-devel libXt-devel libX11-devel gtk2-devel perl生成rpm包
./compile.sh生产rpm包的位置
$ ls el7/RPMS/x86_64/
openssh-9.8p1-1.el9.x86_64.rpm openssh-debugsource-9.8p1-1.el9.x86_64.rpm
openssh-clients-9.8p1-1.el9.x86_64.rpm openssh-server-9.8p1-1.el9.x86_64.rpm
openssh-clients-debuginfo-9.8p1-1.el9.x86_64.rpm openssh-server-debuginfo-9.8p1-1.el9.x86_64.rpm
openssh-debuginfo-9.8p1-1.el9.x86_64.rpm升级OpenSSH
备份原有配置
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup
cp /etc/pam.d/sshd /etc/pam.d/sshd.backup
cp /etc/pam.d/system-auth /etc/pam.d/system-auth.backup安装
$ pwd
/opt/openssh-rpms-main/el7/RPMS/x86_64
$ yum localinstall -y openssh-*.rpmchmod 0600 /etc/ssh/ssh_host_rsa_key
chmod 0600 /etc/ssh/ssh_host_ecdsa_key
chmod 0600 /etc/ssh/ssh_host_ed25519_key还原备份文件
cp /etc/ssh/sshd_config.backup /etc/ssh/sshd_config
cp /etc/pam.d/sshd.backup /etc/pam.d/sshd
cp /etc/pam.d/system-auth.backup /etc/pam.d/system-auth添加内核防火墙策略可选 如果内核防火墙是开启的状态 vim /etc/ssh/ssh_passwordmodule ssh_password 1.0;require {type sshd_t;type shadow_t;class file { read open };
}# sshd_t
allow sshd_t shadow_t:file { read open };cd /etc/ssh/
# 编译模块
checkmodule -M -m -o ssh_password.mod ssh_password# 打包模块
semodule_package -o ssh_password.pp -m ssh_password.mod# 安装模块
semodule -i ssh_password.pp# 验证模块安装
$ semodule -l | grep ssh
rssh
ssh
ssh_password如果内核防火墙是开启的不添加策略就会出现连接不上的错误内核防火墙是关闭的可以忽略 产生的原因 默认情况下sshd使用PAM检查密码。sshd使用的PAM模块之一是pam_unix。这个模块首先尝试直接读取/etc/shadow。如果权限被拒绝则执行/sbin/unix_chkpwd。unix_chkpwd接受用户名和密码并向pam_unix指示密码是否与用户名匹配。 这里的问题是由于“PAM”在这里被禁用sshd试图直接访问shadow文件。因为没有selinux规则允许这样的直接访问所以selinux拒绝这样做。目标策略只允许unix_chkpwd (chkpwd_t)和unix_update (updpwd_t)程序读取/etc/shadow。允许sshd直接读取影子文件被认为存在潜在的安全风险。 重启sshd
systemctl restart sshd检查ssh版本
ssh -V