当前位置: 首页 > article >正文

在 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 要求。



http://www.kler.cn/a/510350.html

相关文章:

  • 动手学大数据-3社区开源实践
  • mongoose 支持https踩坑纪实
  • MarsCode青训营打卡Day1(2025年1月14日)|稀土掘金-16.最大矩形面积问题
  • XML序列化和反序列化的学习
  • Oracle 批量投入数据方法总结
  • Linux查看日志命令
  • 基于协方差交叉(CI)的多传感器融合算法matlab仿真,对比单传感器和SCC融合
  • 用sklearn运行分类模型,选择AUC最高的模型保存模型权重并绘制AUCROC曲线(以逻辑回归、随机森林、梯度提升、MLP为例)
  • 【威联通】FTP服务提示:服务器回应不可路由的地址。被动模式失败。
  • 如何下载对应城市的地理json文件
  • springboot医院信管系统
  • MYSQL学习笔记(二):基本的SELECT语句使用(基本、条件、聚合函数查询)
  • 蓝桥杯3526 子树的大小 | 数学规律
  • 数据仓库经典面试题
  • oracle使用case when报错ORA-12704字符集不匹配原因分析及解决方法
  • 三电平空间矢量详解
  • Vue3 整合 ArcGIS 技术指南
  • 计算机网络 (49)网络安全问题概述
  • ELF2开发板(飞凌嵌入式)基本使用的搭建
  • 统信V20 1070e X86系统编译安装mysql-5.7.44版本以及主从构建
  • QT中多线程的使用(一)
  • 三、SysTick系统节拍定时器
  • Ruby语言的循环实现
  • 安全算法 - 摘要算法
  • 一种基于部分欺骗音频检测的基于临时深度伪造位置方法的高效嵌入
  • Python语言的计算机基础