暂无评论
适用场景:关闭 SSH 后会话断开,后续开启命令无法手动输入,下面 4 种方式均可提前预存多条指令、设备本地串行执行。
方式 1:命令行本地批量执行(推荐,无需额外工具)
场景需求:先关闭 SSH,延时一段时间自动重新开启 SSH
H3C V5/V7、华为 VRP 系统均支持schedule job定时任务,命令存在交换机本地,断开 SSH 不影响执行。
H3C 交换机完整配置示例
plaintext
system-view
# 创建任务:关闭SSH,休眠120秒(2分钟),再开启SSH
scheduler job RestartSSH
command 1 system-view
command 2 undo ssh server enable
command 3 sleep 120
command 4 ssh server enable
# 立即执行一次该任务
scheduler schedule EXE_SSH_RESTART job RestartSSH once now
逻辑说明:
下发任务回车后,交换机立刻开始运行;
执行第 2 条:关闭 SSH,你的 SSH 连接当场断开;
交换机本地继续执行第 3 步休眠 2 分钟,再执行第 4 步打开 SSH;
等待 2 分钟即可重新 SSH 登录。
sleep 120 单位:秒,可自行修改,建议预留60~180 秒用于你断开连接。
只重启 SSH 服务(等价启停效果)
不用关开,直接重启 SSH 进程:
plaintext
scheduler job ReStartSSH
command 1 system-view
command 2 ssh server disable
command 3 sleep 10
command 4 ssh server enable
scheduler schedule SSH_RUN job ReStartSSH once now
方式 2:多行粘贴一次性灌入多条命令(SSH 会话不断的前提下执行)
Xshell、SecureCRT、FinalShell 都支持批量粘贴多行配置,整批命令一次性下发交换机:
提前写好整段命令:
plaintext
system-view
undo ssh server enable
sleep 120
ssh server enable
全选复制,直接粘贴到 SSH 窗口;
粘贴瞬间所有命令送入交换机缓存执行,关闭 SSH 之后会话断掉,但交换机内部依然会走完剩余 sleep 与开启 SSH 指令。
缺点:如果粘贴过程 SSH 已经断开,剩余命令可能丢失;稳定性不如scheduler定时任务。
方式 3:写入临时配置文件调用执行(适合大量命令)
创建 txt 配置文件 ssh_reboot.cfg,内容:
plaintext
system-view
undo ssh server enable
sleep 120
ssh server enable
return
通过 TFTP 将文件上传至交换机 flash:/ssh_reboot.cfg
执行命令调用文件运行:
plaintext
execute flash:/ssh_reboot.cfg
交换机自行从头到尾执行文件内所有命令,断开 SSH 不中断。
方式 4:Python/Ansible 远程批量下发(运维批量设备使用)
Ansible 示例片段,下发后设备自行启停 SSH:
yaml
- name: 重启SSH
hosts: sw
tasks:
- cli_config:
config: |
system-view
undo ssh server enable
sleep 120
ssh server enable
华为交换机等效写法
plaintext
system-view
scheduler job RestartSSH
step 1 system-view
step 2 undo ssh server enable
step 3 sleep 120
step 4 ssh server enable
scheduler schedule SSH_TASK job RestartSSH once now
补充实用技巧
验证定时任务
plaintext
display scheduler job
display scheduler schedule
若担心失效,可额外加日志动作,方便事后查看是否执行成功:
plaintext
command 5 info-center loghost 日志IP facility local5
稳妥建议:休眠时间不要太短,网络卡顿会导致还没开启 SSH 你就主动重连失败;
V7 新版本 H3C 支持ssh server restart单条命令直接重启 SSH 服务,无需关了再开:
plaintext
ssh server restart
这条命令执行不会断开当前 SSH 会话,一步完成 SSH 重启,无需复杂定时。
最简最优解(新版本 H3C 直接用)
plaintext
system-view
ssh server restart
执行后 SSH 服务重启,当前连接不会中断,完美解决你的需求。
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论