Windows 下用 mstsc 或 ssh 连阿里云服务器失败时,最常见的原因是安全组、登录方式或端口没配对。

一、连接前要确认的几项信息
动手之前,先把下面几样东西找齐。准备充分,后面基本不会卡住。
- 公网 IP:在 ECS 控制台实例列表里能看到。如果只有私网 IP,需要先绑定弹性公网 IP,或者通过 NAT 网关访问。
- 登录凭证:Linux 实例一般用 SSH 密钥对或密码,Windows 实例用管理员密码。两者别搞混。
- 安全组端口:Linux 默认是 22,Windows 远程桌面默认是 3389。没放通,连接直接超时。
- 本地客户端:按自己电脑的系统选 SSH 客户端或远程桌面工具。
有个团队的真实踩坑很典型。他们新买了一台 Ubuntu 22.04 的 ECS,用来部署测试站点,第一次 SSH 就一直超时。查下来,安全组只放了 80 和 443,22 没开。加上一条 TCP 22 入方向规则,并把授权对象限定到办公网出口 IP,连接马上就通了。安全组是远程连接的第一道门,只开必要端口,来源尽量收窄。
二、三种系统的具体连接方法
1. Windows 连接 Linux 实例
Windows 10 及以上版本自带 OpenSSH 客户端,打开 PowerShell 就能用。命令格式如下:
ssh root@公网IP地址
第一次连会提示确认服务器指纹,输入 yes,再输入密码即可进入。如果用密钥登录,加上 -i 参数指向私钥文件,例如 ssh -i C:\keys\my_key.pem root@公网IP地址。注意 Ubuntu 镜像默认用户通常是 ubuntu,不是 root,这一点要先看清楚。
2. Mac 或 Linux 连接 Linux 实例
macOS 和大多数 Linux 发行版都内置了 ssh 命令,终端里的用法和 Windows 基本一样。最容易被忽略的是私钥权限。权限太宽松时,SSH 会直接拒绝使用,报错提示 “UNPROTECTED PRIVATE KEY FILE”。这时执行一句 chmod 400 密钥文件名 就能修正。
3. 远程桌面连接 Windows 实例
Windows 本机直接运行 mstsc,在地址栏填公网 IP,用管理员账号登录。Mac 用户可以从 App Store 装 Microsoft Remote Desktop。连上之后,先把默认管理员密码改掉,再开启网络级别身份验证(NLA)。
还有一个开发者的例子。他在 Mac 上用远程桌面调试 Windows Server 2019 上的 .NET 应用,怎么都连不上。一查,安全组没放 3389,系统防火墙也默认拦着远程桌面。两处都改了才通。云厂商的安全组和操作系统自带的防火墙是两层,要分别检查。
三、常见报错怎么排查
连不上的时候,别急着重启实例,按从外到内的顺序一层层看,效率更高。
- 网络层:确认实例是运行状态,公网 IP 没写错,安全组端口已放通。
- 服务层:Linux 上执行
systemctl status sshd,看 SSH 服务是否在跑;Windows 上确认远程桌面服务已启用。 - 认证层:核对用户名、密码或密钥文件是否对应。”身份验证失败” 多半卡在这一层。
- 系统防火墙:检查 ufw 或 firewalld 的规则,确认端口已开放。
上面几步都没问题还是连不上,可以试试控制台里的 Workbench 远程连接。它直接在浏览器里访问实例,不依赖本地网络和客户端,适合当应急入口。
四、安全上要注意的几点
远程连接本来就是攻击者最常扫描的入口,下面几项最好长期保持。
- 优先用 SSH 密钥登录,确认没问题后关闭密码登录。
- 把 SSH 默认端口 22 改成非常用端口,记得同步改安全组规则。这能挡掉大部分自动扫描,但不能替代其他防护。
- 安全组来源尽量限定到固定 IP 或办公网段,别对 0.0.0.0/0 开放管理端口。
- 开启阿里云云安全中心的基线检查,能及时发现弱口令和异常登录。
- 定期看登录日志,Linux 可以查 /var/log/auth.log(Ubuntu)或 /var/log/secure(CentOS 系)。
另一家企业运维团队就吃过亏。SSH 端口直接暴露在公网,又用了弱密码,结果被暴力破解,服务器上被植入了挖矿程序。之后他们统一改成密钥登录,收紧安全组来源,并接入云安全中心告警,半年内没再出过事。配置一次到位,比出事后补救省事得多。
总结
连接服务器时,先确认网络能通,再选对工具,最后做好身份认证和端口收敛。按这个顺序逐项检查,大多数问题几分钟就能定位。