资讯动态

跨网段 SSH 操控 Kali 虚拟机实战:从 macOS 宿主机完成华为交换机巡检工具部署

发布时间:2026/10/22 19:23:04 来源:尧图企业网站定制
跨网段 SSH 操控 Kali 虚拟机实战从 macOS 宿主机完成华为交换机巡检工具部署场景网络安全 / 红队方向 · 虚拟化运维 · 自动化部署一、需求背景本机是 macOSApple Silicon通过 Parallels Desktop 运行 Kali Linux 虚拟机。用户需要把某微信公众号文章《Python自动化巡检华为交换机含告警判断钉钉推送》中的工具部署到 Kali 虚拟机内涉及两个 Python 依赖netmiko、requests和一个巡检脚本。核心矛盾Kali 虚拟机与 macOS 宿主机不在同一网段且虚拟机内 SSH 服务默认未开启外部无法直接进入。二、环境拓扑跨网段是怎么来的先看清网络结构。Parallels Desktop 默认给虚拟机提供Shared共享网络本质是一个 NAT 虚拟网段┌───────────────────────────── macOS 宿主机 ─────────────────────────────┐ │ Wi-Fi 物理网卡192.168.x.x局域网真实网段 │ │ Parallels 虚拟网卡 bridge10010.211.55.1NAT 网关 │ └───────────────────────────────┬────────────────────────────────────────┘ │ 虚拟交换机 / NAT ┌───────────────────────────────┴────────────────────────────────────────┐ │ Kali Linux 虚拟机10.211.55.43与宿主机物理网段不同 │ └─────────────────────────────────────────────────────────────────────────┘宿主机物理网段192.168.x.0/24Wi-FiKali 所在虚拟网段10.211.55.0/24Parallels Shared NAT两者跨网段宿主机与虚拟机之间靠 Parallels 虚拟网卡10.211.55.1做网关转发所以在实施前第一步就是确认 Kali 在虚拟网段内的地址。三、难点分析为什么不能直接点开虚拟机操作常规思路是打开 Parallels 窗口直接在 Kali 里操作但这条路在本场景被堵死Parallels Tools 未安装宿主机侧prlctl exec依赖虚拟机内的 Parallels Tools 建立会话通道本机 Kali 显示GuestTools: statenot_installed执行prlctl exec直接报错Unable to open new session in this virtual machine. Make sure your virtual machine has finished booting, runs the latest version of Parallels Tools...GUI 自动化链路受限系统内的 GUI 操作代理无法接管 Parallels Desktop 窗口内的交互。虚拟机内无远程服务端口扫描显示 22 / 5900 / 3389 等常用远程端口全部关闭Kali 的 SSH 服务未启动。结论必须先进入 Kali 系统内部开通 SSH 服务然后一切自动化才能通过 SSH 通道完成。四、实施步骤全记录Step 1定位 Kali 虚拟机的 IPKali 与宿主机跨网段首先要找到它在虚拟网段里的地址。三种手段交叉验证# 1. Parallels 命令行列出虚拟机/usr/local/bin/prlctl list-a# UUID STATUS IP_ADDR NAME# {66a2...} running - Kali Linux# 2. Parallels 会把虚拟机名注册进宿主机 /etc/hostsgrepkali /etc/hosts# 10.211.55.43 kali-linux.shared kali-linux #prl_hostonly shared# 3. ARP 表确认 MAC 与 IP 的绑定arp-a|grep10.211# kali-linux.shared (10.211.55.43) at 0:1c:42:3c:da:7a on bridge100确认Kali 在10.211.55.43宿主机虚拟网关是10.211.55.1。Step 2开通 Kali 的 SSH 服务这是整个链路最关键的一步。由于外部无入口需要进入 Kali 内执行本场景由用户在虚拟机终端执行一次sudosystemctlenable--nowsshenable --now同时完成两件事enable设置开机自启防止重启后失联--now立即启动服务启动后用ss -tlnp | grep 22确认 sshd 已监听 22 端口。Step 3宿主机侧建立 SSH 通道含密码自动化macOS 没有预装sshpass批量免交互登录用expect脚本处理密码输入expect-c set timeout 30 spawn ssh -o StrictHostKeyCheckingno bruce_xiaowei10.211.55.43 echo CONNECTED; whoami; python3 --version expect { password: { send 密码\r; exp_continue } CONNECTED { exp_continue } eof } 关键点StrictHostKeyCheckingno跳过首次连接的 host key 确认保证脚本无人值守exp_continue匹配到密码提示后自动发送口令循环等待命令输出连接成功后即可在 Kali 内任意执行命令安全提示expect脚本里的密码是明文仅适合临时自动化生产环境请改用 SSH 密钥认证见文末安全建议。Step 4SCP 跨网段传输文件脚本文件先在宿主机本地生成通过 SCP 上传到 Kali 指定目录expect-c set timeout 60 spawn scp -o StrictHostKeyCheckingno huawei_inspect.py \ bruce_xiaowei10.211.55.43:/home/bruce_xiaowei/huawei_inspect/huawei_inspect.py expect { password: { send 密码\r; exp_continue } eof } SCP 底层走 SSH 加密通道跨网段传输由 Parallels NAT 网关转发无需额外配置端口映射。Step 5虚拟环境与依赖安装在 Kali 内创建独立 venv避免污染系统 Python也绕开 Kali 对系统级 pip 安装的限制PEP 668cd~/huawei_inspect python3-mvenv venv ./venv/bin/pipinstall-q--upgradepip ./venv/bin/pipinstall-qnetmiko requests安装结果netmiko 4.8.0 requests 2.34.2Step 6远端校验cd~/huawei_inspect ./venv/bin/python-mpy_compile huawei_inspect.pyechoCOMPILE_OK语法编译通过工具部署完成可直接运行cd~/huawei_inspectsourcevenv/bin/activate python huawei_inspect.py五、排错记录Connection refused 的两次出现阶段现象原因处理首次扫描22 端口全部关闭Connection refusedKali 内 SSH 服务未启动进入 Kali 执行systemctl enable --now ssh启动后立即连接仍Connection refused服务状态刚变更端口尚未完全就绪 / 用户侧命令未生效重试连接确认systemctl is-active ssh返回active教训SSH 服务刚启动时不要立即连接先验证ss -tlnp | grep 22确认监听再发起连接。六、安全建议用密钥认证替代密码ssh-keygen生成密钥对ssh-copy-id分发公钥彻底告别密码自动化也避免 expect 脚本里明文密码残留。弱口令风险本例测试口令强度低生产环境应使用强口令 失败锁定fail2ban。SSH 白名单Kali 作为安全测试平台建议sshd_config限定AllowUsers与来源 IP避免虚拟网段内其他主机扫描到开放端口。网络隔离意识Parallels Shared 网络的 NAT 网关本身有隔离作用如需桥接到物理网段务必先评估暴露面。七、总结本次跨网段部署的完整链路是定位虚拟网段 IP → 虚拟机内开通 SSH → 宿主机 expect 密码自动化登录 → SCP 跨网段传文件 → venv 隔离安装依赖 → 远端语法校验核心思想一句话虚拟机一旦开通 SSH宿主机与虚拟机的网段隔阂就只剩一条加密通道的距离。账号密码只是入口SSH 提供的加密传输、命令执行与文件传输三合一能力才是跨网段自动化运维的基石。本文基于真实排障过程整理适用于 Parallels / VMware / VirtualBox 等虚拟化环境下 macOS 与 Linux 虚拟机的跨网段运维场景。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑