预安装脚本或者系统环境参数里,如何调整ssh端口的相关配置(22改为所需端口),执行预安装脚本。
答案内容由AI生成,仅供参考:
总结
gs_preinstall 脚本通过 gs_ssh 工具在集群节点间建立SSH互信。如果系统SSH端口已更改,最根本的解决方法是在 cluster_config.xml 配置文件中正确设置 SshPort 参数,使其与实际的SSH服务端口(如60022)保持一致。仅设置环境变量 SSH_PORT 可能不足以解决问题,因为 gs_preinstall 的首要依据是XML配置文件。确保配置文件、系统服务和网络连通性三者协同,即可成功完成预安装。
点击此处查看详细分析解答
SSH端口非默认(非22)导致openGauss预安装失败的解决方案
当SSH服务使用的端口不是默认的22端口时,执行openGauss的gs_preinstall预安装脚本会因无法通过SSH建立节点间的互信而失败。错误信息如 [GAUSS-51220] : Unable to connect to [IP]: [Errno 111] Connection refused 明确表明脚本尝试连接目标节点的SSH服务时被拒绝,这通常是因为脚本仍在尝试连接默认的22端口,而实际的SSH服务运行在自定义端口上(如问题中的60022)。
问题根源分析
从提供的上下文信息可以看出,核心问题是配置不匹配:
- 环境中已通过
export SSH_PORT=60022配置了自定义SSH端口。 - openGauss的安装配置文件
Cluster_Config.Xml中,可能未正确指定该自定义的SSH端口,导致gs_preinstall脚本和其依赖的gs_ssh工具在内部仍使用22端口进行连接。 - 根据知识图谱信息,
Cluster_Config.Xml文件中有一个名为SshPort的配置参数用于定义SSH端口,如果该参数未设置或设置错误,就会导致GAUSS-51258或类似的SSH连接错误。
解决方案
要解决此问题,必须确保 gs_preinstall 脚本、gs_ssh 工具以及系统环境三者之间使用的SSH端口保持一致。具体步骤如下:
1. 配置 cluster_config.xml 文件中的SSH端口
这是最关键的一步。必须在你的 cluster_config.xml 配置文件中明确指定自定义的SSH端口号。
-
查找并修改参数:在
cluster_config.xml文件中找到与SSH端口相关的配置项。根据知识图谱,相关参数为SshPort。 -
设置正确的值:将
SshPort的值修改为你的自定义端口号(例如60022)。<!-- 示例:在 cluster_config.xml 中配置自定义SSH端口 --> <parameter name="SshPort" value="60022"/> -
验证配置:修改后,仔细检查文件是否有语法错误,并确保所有目标节点的IP地址和端口号配置正确。
2. 确保SSH服务在目标节点正确运行
-
检查SSH服务状态:在目标节点(IP: 145.30.42.122)上,确认SSH服务已经启动并正在监听自定义端口。
systemctl status sshd -
检查端口监听:使用
netstat或ss命令检查端口60022是否处于监听状态。netstat -tuln | grep 60022 # 或 ss -tuln | grep 60022 -
测试SSH连接:在本地节点手动使用
ssh命令测试到目标节点的连接:
ssh -p 60022 root@145.30.42.122
如果手动能连接成功,说明网络和SSH服务无问题,问题一定出在 gs_preinstall 脚本的配置上。
3. 确保环境变量持久化 (可选但推荐)
虽然在执行脚本前临时设置 export SSH_PORT=60022 可能有效,但为了确保其被正确读取,最好将该环境变量写入全局配置文件。
- 写入
/etc/profile:echo "export SSH_PORT=60022" >> /etc/profile source /etc/profile
4. 执行预安装脚本
完成以上配置后,再次运行 gs_preinstall 脚本。
./gs_preinstall -U omm -G dbgrp -X /data/apps/soft/cluster_config.xml
总结
gs_preinstall 脚本通过 gs_ssh 工具在集群节点间建立SSH互信。如果系统SSH端口已更改,最根本的解决方法是在 cluster_config.xml 配置文件中正确设置 SshPort 参数,使其与实际的SSH服务端口(如60022)保持一致。仅设置环境变量 SSH_PORT 可能不足以解决问题,因为 gs_preinstall 的首要依据是XML配置文件。确保配置文件、系统服务和网络连通性三者协同,即可成功完成预安装。
版本6.0.3LTS ,ssh -p端口的免密已经配置,不生效,cluster_config.xml中的ssh_port 配置后也不好使。现在想明确一下该版本到底支不支持自定义ssh。
支持自定义ssh端口是从7.0.0-RC1版本开始有的,6.0.3没有该功能。支持自定义ssh端口 | openGauss文档 | openGauss社区
