接上一篇,上一篇已经找到可能是selinux导致的。那可以从这方面找原因。
查看 SELinux 审计日志(记录被拒绝的操作):
ausearch -m avc -c sshd | grep 10088
若输出类似以下内容,说明 SELinux 明确拒绝了 sshd 绑定 10088 端口:
type=AVC msg=audit(xxx): avc: denied { name_bind } for pid=xxx comm="sshd" src=10088 scontext=system_u:system_r:sshd_t:s0 tcontext=system_u:object_r:unreserved_port_t:s0 tclass=udp_socket permissive=0
结果一搜,还真有。那就确诊了。现在就有两种方法,关闭selinux或者配置端口。之前都是关闭selinux实现,这次尝试不一样的。关闭的话,可以自己搜一下,很现成和简单的方法。
如果是配置端口呢,那就继续:
# 若sshd使用TCP(默认),添加TCP端口
semanage port -a -t ssh_port_t -p tcp 10088
报错:
semanage port -a -t ssh_port_t -p tcp 10088
-bash: semanage: 未找到命令
没有这个软件,然后服务器没有互联网,哎。困难又来了。
开始确认服务器操作系统版本:
# 查看openEuler版本(例如20.03 LTS、22.03 LTS等)
cat /etc/openEuler-release
# 查看系统架构(x86_64或aarch64)
uname -m
第二步,下载离线包:
访问 openEuler 官方镜像仓库,找到对应版本和架构的目录:
官方镜像地址:https://repo.openeuler.org/
路径示例(以 22.03 LTS x86_64 为例):
https://repo.openeuler.org/openEuler-22.03-LTS/OS/x86_64/Packages/
在该目录下搜索以下包(版本号可能随系统更新变化,选择与系统版本匹配的):
policycoreutils-python-utils-<版本号>.rpm
(例如:policycoreutils-python-utils-3.3-1.oe2203.x86_64.rpm)
这个方式很复杂,涉及的关联包很多,放一份在这里吧,关键是下载后,还要一个一个安装,有牵涉其他的包。
另一种方式:
用yumdownloader在联网机器下载(更便捷)
在一台同版本、同架构且能联网的 openEuler 机器上,安装yum-utils后下载离线包(含依赖):
# 安装下载工具
dnf install -y yum-utils
# 下载policycoreutils-python-utils及所有依赖到当前目录(--resolve自动下载依赖)
yumdownloader --resolve --destdir=. policycoreutils-python-utils
将下载的所有rpm包(包括主包和依赖)通过 U 盘、SCP、FTP 等方式传输到无网服务器的某个目录(例如/root/offline_pkgs)。
# 进入离线包目录
cd /root/offline_pkgs
# 安装所有包(rpm会自动处理依赖顺序)
rpm -ivh *.rpm
若提示依赖缺失(极少情况):
如果安装时出现error: Failed dependencies: xxx is needed by ...,说明漏下了依赖包。此时需要:
记录缺失的依赖包名(例如python3-libs);
回到步骤二,从镜像站或联网机器下载对应的依赖包;
重新传输并执行rpm -ivh安装。
评论0
暂时没有评论