自学内容网 自学内容网

在 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 文件

  1. 打开文件资源管理器,进入目录 C:\Users\<用户名>\.ssh,如果没有 .ssh 文件夹,可以手动创建。

  2. .ssh 文件夹中,新建或编辑 config 文件(无后缀),输入以下内容:

    Host remote_test
        HostName <远程服务器IP或域名>
        User <服务器用户名>
        IdentityFile C:\Users\51745\.ssh\hzrobotembodiedAI.pem
    
    • Host:为服务器起一个别名,例如 remote_test
    • HostName:服务器的 IP 地址或域名。
    • User:您在服务器上的用户名。
    • IdentityFile.pem 文件的绝对路径。

    注意:路径中的 \ 必须正确。

  3. 保存文件后,确保文件格式正确。


2.2 修复 .pem 文件权限

SSH 对私钥文件权限要求严格。在 Windows 下,需要手动调整文件权限,否则可能会报类似以下错误:

Bad permissions. Try removing permissions for user.
修复权限步骤:
  1. 打开 PowerShell 或 CMD。

  2. 运行以下命令移除文件的继承权限,并授予当前用户完全控制权限:

    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(您的实际用户名)授予完全控制权限。
  3. 检查权限是否生效:

    icacls "C:\Users\51745\.ssh\hzrobotembodiedAI.pem"
    

    输出中应显示类似以下内容:

    51745:F
    
  4. 权限设置完成后,.pem 文件即满足 SSH 要求。



原文地址:https://blog.csdn.net/weixin_41496173/article/details/145244920

免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!