• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

部署PolarDB时,如何设置ssh端口非22

3天前提问
  • 0关注
  • 0收藏,71浏览
粉丝:0人 关注:0人

问题描述:

部署PolarDB时,sh unified-platform-polarflex-deploy.sh 如何设置ssh端口非22端口?默认时22端口

3 个回答
粉丝:7人 关注:9人

操作步骤与命令
方式1:修改部署配置文件
1. 打开部署配套的配置文件(如deploy.cfg或unified-platform-polarflex-deploy.cfg),找到SSH端口参数:
ini
SSH_PORT=22

将其修改为目标端口,例如:SSH_PORT=2222
2. 保存配置后执行部署脚本:
bash
sh unified-platform-polarflex-deploy.sh

方式2:命令行直接指定端口
执行部署脚本时追加端口参数:
bash
sh unified-platform-polarflex-deploy.sh --ssh-port <目标端口>
示例:sh unified-platform-polarflex-deploy.sh --ssh-port 2222
前置检查
1. 所有目标节点需修改SSH服务端口(编辑/etc/ssh/sshd_config的Port项,重启sshd服务)
2. 目标节点防火墙需开放该端口(如firewall-cmd --add-port=2222/tcp --permanent && firewall-cmd --reload)
重要提醒:操作前备份原有配置文件,避免配置失误导致部署失败。

暂无评论

粉丝:14人 关注:1人

unified-platform-polarflex-deploy.sh这个部署脚本本身没有直接设置SSH端口的选项,不过你可以通过下面这几种方法来解决这个问题。

 核心思路:这个脚本很大程度上是依赖 Ansible 来执行部署任务的。因此,关键在于通过标准的 Ansible 方式来定义 SSH 端口,而不是试图修改脚本本身。


 方法一:修改 .yaml 配置文件

这是最推荐且最根本的方法,通过配置文件来指定连接信息。

你可以找到对应的 .yaml 配置文件(比如 config_template.yamlconfig_master_slave.yaml 或 config_single_node.yaml),在 hosts: 部分修改或加入 ansible_port: 参数,就像这样:

hosts:
host01: ansible_host: 10.10.10.1 # 主机IP ansible_port: 2222 # 非标准的SSH端口 host02: ansible_host: 10.10.10.2 ansible_port: 2222确认配置文件无误后,正常执行 sh unified-platform-polarflex-deploy.sh,它就会使用配置中指定的端口进行连接了。


 方法二:在命令行临时指定 (如果脚本支持)

你可以试试直接在执行命令时添加 -e 参数来传递端口信息,但不是所有版本的脚本都支持:

sh unified-platform-polarflex-deploy.sh -e "ansible_port=2222"
 执行后注意看终端的输出。如果脚本内部确实在用 ansible-playbook,你可能会看到它在解析参数。但也有可能会报错,这时候就说明这种方式不支持。


 方法三:修改 Ansible 全局配置

编辑你部署机上的 Ansible 配置文件(通常是 /etc/ansible/ansible.cfg),在 [ssh_connection] 部分取消注释并修改 ssh_args 参数:

[ssh_connection]
ssh_args = -o Port=2222 -o COntrolMaster=auto -o COntrolPersist=60s

暂无评论

粉丝:10人 关注:2人

结论:unified-platform-polarflex-deploy.sh 本身没有参数直接改 SSH 端口,要改只能:
先把所有节点 SSH 改成非 22(如 2222)
修改部署脚本里写死的 ssh 命令,加上 -p 2222
或 改生成的 config.yaml,把 ssh_port 写死
下面给你可直接照做的步骤。
一、先把所有服务器 SSH 端口改成 2222(示例)
所有节点(包括部署机)都要做:
bash
运行
# 1. 备份
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

# 2. 改端口
vi /etc/ssh/sshd_config
# 找到
#Port 22
# 改成
Port 2222

# 3. 放行防火墙(firewalld)
firewall-cmd --permanent --add-port=2222/tcp
firewall-cmd --reload

# 4. 重启sshd
systemctl restart sshd

# 5. 测试(新终端)
ssh root@你的IP -p 2222
全程不要关当前会话,新开窗口测试,防止锁机。
二、修改部署脚本,把所有 ssh 加上 -p 2222
脚本:unified-platform-polarflex-deploy.sh
1. 先备份脚本
bash
运行
cp unified-platform-polarflex-deploy.sh unified-platform-polarflex-deploy.sh.bak
2. 批量替换脚本里的 ssh → ssh -p 2222
bash
运行
sed -i 's/ssh /ssh -p 2222 /g' unified-platform-polarflex-deploy.sh
sed -i 's/scp /scp -P 2222 /g' unified-platform-polarflex-deploy.sh
(注意:scp 是大写 -P)
3. 检查是否替换成功
bash
运行
grep 'ssh -p' unified-platform-polarflex-deploy.sh
grep 'scp -P' unified-platform-polarflex-deploy.sh
三、如果脚本会生成 config.yaml,直接改模板
找到模板(通常是 config_template.yaml 或脚本里内嵌),添加:
yaml
global:
ssh_port: 2222
再跑脚本,让它生成新的 config.yaml。
四、正常执行部署
bash
运行
sh unified-platform-polarflex-deploy.sh -m "IP1" -p "密码" -m "IP2" -p "密码" ...
五、常见坑
❌ 只改服务器 SSH 端口,不改脚本 → 脚本仍连 22,超时
❌ scp 用了小写 -p → 报错,必须大写 -P
❌ 防火墙没放 2222 → 连不上

暂无评论

编辑答案

你正在编辑答案

如果你要对问题或其他回答进行点评或询问,请使用评论功能。

分享扩散:

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作

举报

×

侵犯我的权益 >
对根叔社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明