在 Windows 下利用 `.pem` 文件配置 VS Code Remote-SSH 连接远程服务器
在日常开发中,使用 VS Code 的 Remote-SSH 插件可以方便地通过 SSH 连接远程服务器,实现本地开发与调试的无缝衔接。然而,在 Windows 系统下,如果使用 .pem
私钥文件,配置过程中可能会遇到权限或路径相关问题。本文将详细讲解如何在 Windows 下通过 .pem
文件配置 VS Code 连接远程服务器。
1. 准备工作
在开始之前,请确保您已经具备以下条件:
- VS Code 已安装,并安装了 Remote-SSH 插件。
- 您的
.pem
私钥文件已经保存到本地,例如路径为:C:\Users\51745\.ssh\hzrobotembodiedAI.pem
。 - 确认可以使用 MobaxTerm 或其他 SSH 客户端连接远程服务器。
2. 配置 SSH
2.1 创建或编辑 ~/.ssh/config
文件
-
打开文件资源管理器,进入目录
C:\Users\<用户名>\.ssh
,如果没有.ssh
文件夹,可以手动创建。 -
在
.ssh
文件夹中,新建或编辑config
文件(无后缀),输入以下内容:Host remote_test HostName <远程服务器IP或域名> User <服务器用户名> IdentityFile C:\Users\51745\.ssh\hzrobotembodiedAI.pem
- Host:为服务器起一个别名,例如
remote_test
。 - HostName:服务器的 IP 地址或域名。
- User:您在服务器上的用户名。
- IdentityFile:
.pem
文件的绝对路径。
注意:路径中的
\
必须正确。 - Host:为服务器起一个别名,例如
-
保存文件后,确保文件格式正确。
2.2 修复 .pem
文件权限
SSH 对私钥文件权限要求严格。在 Windows 下,需要手动调整文件权限,否则可能会报类似以下错误:
Bad permissions. Try removing permissions for user.
修复权限步骤:
-
打开 PowerShell 或 CMD。
-
运行以下命令移除文件的继承权限,并授予当前用户完全控制权限:
icacls "C:\Users\51745\.ssh\hzrobotembodiedAI.pem" /inheritance:r icacls "C:\Users\51745\.ssh\hzrobotembodiedAI.pem" /grant:r "51745:F"
inheritance:r
:移除继承的权限。grant:r "51745:F"
:为当前用户51745
(您的实际用户名)授予完全控制权限。
-
检查权限是否生效:
icacls "C:\Users\51745\.ssh\hzrobotembodiedAI.pem"
输出中应显示类似以下内容:
51745:F
-
权限设置完成后,
.pem
文件即满足 SSH 要求。
原文地址:https://blog.csdn.net/weixin_41496173/article/details/145244920
免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!