unified-platform-polarflex-deploy.sh这个部署脚本本身没有直接设置SSH端口的选项,不过你可以通过下面这几种方法来解决这个问题。
核心思路:这个脚本很大程度上是依赖 Ansible 来执行部署任务的。因此,关键在于通过标准的 Ansible 方式来定义 SSH 端口,而不是试图修改脚本本身。
这是最推荐且最根本的方法,通过配置文件来指定连接信息。
你可以找到对应的 .yaml 配置文件(比如 config_template.yaml, config_master_slave.yaml 或 config_single_node.yaml),在 hosts: 部分修改或加入 ansible_port: 参数,就像这样:
sh unified-platform-polarflex-deploy.sh,它就会使用配置中指定的端口进行连接了。你可以试试直接在执行命令时添加 -e 参数来传递端口信息,但不是所有版本的脚本都支持:
ansible-playbook,你可能会看到它在解析参数。但也有可能会报错,这时候就说明这种方式不支持。编辑你部署机上的 Ansible 配置文件(通常是 /etc/ansible/ansible.cfg),在 [ssh_connection] 部分取消注释并修改 ssh_args 参数:
暂无评论
结论: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 → 连不上
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论