You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从Ubuntu 22.04 SSH连接Azure Linux虚拟机时为何总是超时?

SSH连接Azure Ubuntu 22.04 VM失败排查方案

基础状态验证

  • 确认Azure VM处于运行中:登录Azure门户查看虚拟机状态,若为停止/已解除分配状态,先启动实例。
  • 核对公网IP:确保SSH命令里的public_IP_address和Azure门户显示的VM公网IP完全一致,避免复制时出现字符或空格错误。
  • 检查NSG入站规则:确认网络安全组已添加允许22端口的入站规则,测试阶段可暂时将源地址设为0.0.0.0/0(后续改回限定IP更安全)。

SSH密钥权限与匹配检查

  • 修正本地密钥文件权限:在Ubuntu bash终端执行ls -l ~/.ssh/<KEY>,确保权限为-rw-------(即600),若不符则用chmod 600 ~/.ssh/<KEY>调整——SSH会拒绝权限过宽的密钥文件。
  • 确认密钥配对:Azure VM创建时使用的公钥,必须和本地私钥<KEY>完全配对。用PuTTY连接时,需确保.ppk文件是由该私钥通过PuTTYgen转换生成的,测试阶段不要设置额外密码。
  • 启用详细日志排查:执行ssh -v -i ~/.ssh/<KEY> user@public_IP_address,通过-v输出的详细日志,判断是连接超时、权限被拒还是主机不可达,定位具体问题点。

PuTTY专属排查点

  • 核对PuTTY配置:在“Connection > SSH > Auth”中确认选择了正确的.ppk私钥文件;“Session”栏中主机名填公网IP,端口设为22。
  • 关闭GSSAPI认证:若出现GSSAPI相关错误,在“Connection > SSH > Auth”中取消勾选“Attempt GSSAPI authentication (SSH-2 only)”后重试。

虚拟机内部状态排查(通过Azure门户操作)

  • 用串行控制台检查sshd服务:登录Azure门户,进入VM的“支持 + 故障排除 > 串行控制台”,登录后执行systemctl status sshd,若服务未运行则启动:systemctl start sshd,并设置开机自启:systemctl enable sshd。
  • 验证sshd_config配置:执行cat /etc/ssh/sshd_config,确认关键配置:
    • PubkeyAuthentication yes(启用密钥认证)
    • 若用普通用户登录,确保PermitRootLogin no且该用户已添加到VM中
    • 若临时测试密码登录,可将PasswordAuthentication no改为yes,重启sshd后设置用户密码

内容的提问来源于stack exchange,提问作者Skywalker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 11:42:12