如何将带vnet的Azure VM附加到公共工作区?遇连接超时报错
操作可行性结论
配置了VNet的Azure VM可以正常附加到公共工作区,出现连接超时不属于功能限制,是公网到VM的SSH连接链路不通导致的,对应报错如下:
Provisioning error Connection attempt timed out for 'xx.xx.xx.xx'. Verify that server is accessible and SSH service is accepting connections.
排查修复方向
- 公网暴露配置检查
- 确认目标VM已分配可正常访问的公网IP资源,公共工作区默认通过公网发起SSH连接,无法直接访问VNet内未暴露公网的私网VM
- 检查VM网卡绑定的网络安全组入站规则,确保放通目标为SSH端口(默认22,自定义端口需和工作区附加配置保持一致)的TCP入站流量,放通规则优先级要高于对应端口的拒绝规则
- 若VNet前端部署了Azure防火墙、第三方网络虚拟设备、DDoS防护策略,需要放通工作区发起的SSH连接请求,不要触发流量拦截、连接限流规则
- VM内部SSH服务检查
- 通过Azure串行控制台或VNet内同网段其他资产登录目标VM,执行
systemctl status sshd确认SSH服务处于正常运行状态,无配置错误、进程崩溃问题 - 检查
/etc/ssh/sshd_config配置,确认服务监听地址为0.0.0.0而非仅本地回环/私网地址,监听端口和工作区填写的附加端口一致,未配置来源IP白名单拦截工作区请求 - 临时关闭VM内部的ufw、firewalld、iptables等主机防火墙测试,排除主机层流量拦截问题
- 通过Azure串行控制台或VNet内同网段其他资产登录目标VM,执行
- 路由配置检查
- 若VNet配置了强制隧道(默认路由指向本地防火墙/虚拟设备),需确认SSH连接的回包路径正常,避免非对称路由导致连接被丢弃
- 连通性预验证
完成上述配置调整后,在非VNet内网的公网环境执行nc -zv <VM公网IP> <SSH端口>验证端口连通性,连通正常后再重试工作区附加操作即可。
内容的提问来源于stack exchange,提问作者susanna
相关产品推荐
相关产品推荐

