Windows10下SSH连接远程服务器遇阻及相关技术问题咨询
Windows10下SSH连接远程服务器相关问题及解决方案
基础问题解答
1. Windows10下SSH连接远程服务器的最简方式
- 系统自带OpenSSH客户端:Windows10 1809及以上版本默认预装,直接用命令提示符/PowerShell执行
ssh命令即可。若未预装,可在「设置-应用-可选功能」中添加「OpenSSH客户端」。 - 第三方图形化工具:比如Putty,下载后填入服务器地址、选择密钥文件即可连接,适合偏好图形界面的用户。
2. 可用的VSCode扩展
Remote - SSH(微软官方扩展),就是你正在使用的这款,能直接在VSCode内完成远程服务器的文件编辑、代码运行等操作,体验和本地操作几乎一致。
3. .PEM文件的作用
这是SSH密钥对中的私钥文件,用于身份验证。AWS EC2这类云服务器常用该方式替代密码登录:通过私钥与服务器预先配置的公钥匹配,完成安全的身份校验,避免密码泄露风险。
连接错误解决方案
从日志核心报错Permission denied (publickey)可知,问题出在密钥验证环节,按以下步骤修复:
步骤1:修正密钥文件权限
Windows下SSH对私钥文件权限要求严格,需限制仅当前用户可访问:
- 右键
Server.pem文件 → 属性 → 安全 → 高级 - 点击「禁用继承」,删除所有非当前用户的权限条目
- 仅保留当前Windows用户的完全控制权限,保存设置
步骤2:配置VSCode Remote-SSH的config文件
- 在VSCode中按
F1,输入Remote-SSH: Open SSH Configuration File,选择用户目录下的config文件(如C:\Users\[你的用户名]\.ssh\config) - 添加以下配置(替换为你的实际路径):
Host ec2-55-131-129-128.us-east-2.compute.amazonaws.com HostName ec2-55-131-129-128.us-east-2.compute.amazonaws.com User ubuntu IdentityFile C:\[你的Server.pem存放路径]\Server.pem
注意:路径用反斜杠\或正斜杠/,不要用波浪线~(Windows下波浪线指向用户目录,但直接写绝对路径更稳妥)
步骤3:手动测试SSH连接
先在PowerShell/命令提示符执行以下命令,确认基础连接正常:
ssh -i "C:\[你的Server.pem存放路径]\Server.pem" ubuntu@ec2-55-131-129-128.us-east-2.compute.amazonaws.com
若此命令能成功连接,再回到VSCode用Remote-SSH尝试,即可解决问题。
额外排查点
- 确认AWS EC2实例的安全组规则,允许你的本地IP访问22端口(SSH默认端口)
- 检查
Server.pem文件是否完整,无传输损坏 - 确认EC2实例的
ubuntu用户已关联该私钥对应的公钥(可通过AWS控制台查看实例密钥对配置)
内容的提问来源于stack exchange,提问作者Syed Rafey Husain
相关产品推荐
相关产品推荐

