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

Windows 10/11 使用 VSCode + SSH 免密远程连接 Ubuntu 服务器(指定端口)

摘要
本文详细介绍如何在 Windows 系统上通过 VSCode + Remote-SSH 免密登录远程 Ubuntu 服务器(SSH 端口 2202),避免每次输入密码的繁琐操作,提高开发效率。


1. 环境准备

  • 本地系统:Windows 10/11
  • 远程服务器:Ubuntu(SSH 端口 2202)
  • 工具:VSCode + Remote-SSH 插件

2. 生成 SSH 密钥对(Windows 端)

PowerShellCMD 执行以下命令生成密钥对:

ssh-keygen -t rsa -b 4096
  • Enter 确认默认路径(C:\Users\你的用户名\.ssh\id_rsa)。
  • 不要设置密码(否则仍需输入密码)。

生成后,公钥文件为 id_rsa.pub,私钥文件为 id_rsa


3. 复制公钥到远程服务器

方法 1:使用 scp 上传(需临时密码登录)

scp -P 2202 $env:USERPROFILE\.ssh\id_rsa.pub 用户名@服务器IP:~/.ssh/

输入服务器密码完成上传。

方法 2:手动添加公钥(若已能登录服务器)

  1. 登录服务器:
    ssh -p 2202 用户名@服务器IP
    
  2. 在服务器上执行:
    mkdir -p ~/.ssh
    cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys
    rm ~/id_rsa.pub  # 删除临时文件
    

4. 配置 VSCode Remote-SSH

  1. 安装 Remote-SSH 插件

    • 在 VSCode 扩展商店搜索 Remote - SSH 并安装。
  2. 配置 SSH 连接

    • F1Ctrl+Shift+P,输入 Remote-SSH: Open Configuration File,选择 C:\Users\你的用户名\.ssh\config
    • 添加以下内容(替换 服务器IP用户名):
      Host myserver
          HostName 服务器IP
          User 用户名
          Port 2202
          IdentityFile ~/.ssh/id_rsa
      
    • 保存后,VSCode 左侧 Remote Explorer 会显示 myserver
  3. 连接测试

    • 点击 myserver 连接,若无需密码直接进入,则配置成功!

5. 常见问题

Q1:连接失败,提示 Permission denied (publickey)

  • 检查 ~/.ssh/authorized_keys 权限是否为 600
  • 确保 ~/.ssh 目录权限为 700
  • 参考:CSDN 博客

Q2:VSCode 连接超时

  • 检查服务器防火墙是否开放 2202 端口
  • 确保 SSH 服务正常运行:
    sudo systemctl status ssh
    

Q3:用户名含中文导致失败

  • 若 Windows 用户名含中文,建议将密钥放在不含中文的路径,并在 config 中修改 IdentityFile 路径。
  • 参考:博客园

6. 总结

通过 SSH 密钥对 + VSCode Remote-SSH,可以高效实现 Windows 免密登录 Ubuntu 服务器(即使 SSH 端口非默认 22)。

  • 优势
    • 无需每次输入密码,提升开发效率。
    • VSCode 可直接编辑远程文件,无缝开发体验。

相关参考

  • VSCode Remote-SSH 官方文档
  • CSDN 免密登录教程

版权声明:本文为原创文章,遵循 CC 4.0 BY-SA 协议,转载请注明出处。


效果截图(可选):

  • VSCode Remote-SSH 连接成功界面
  • ~/.ssh/authorized_keys 文件内容

适用人群

  • 开发者、运维人员、学生等需要远程连接 Linux 服务器的用户。

关键词
Windows SSH 免密登录 VSCode Remote-SSH Ubuntu 2202 端口 SSH 密钥认证


你的支持是我创作的动力!如果对你有帮助,请点赞 + 收藏! 😊

相关文章:

  • matlab使用fmincon开加速
  • 光电效应及普朗克常数的测定数据处理 Python实现
  • 时隔多年,终于给它换了皮肤,并正式起了名字
  • 洛谷: P1443 马的遍历
  • OpenHarmony 入门——ArkUI 跨页面数据同步和应用全局单例的UI状态存储AppStorage 小结(三)
  • QML控件 - Slider
  • python脚本处理excel文件
  • 如何选择?Postman vs JMeter 对比介绍
  • zynq7020 最小ps环境速通
  • 开源大模型使用总结
  • Unity选择框(魔兽争霸3)
  • 文生图语义识别插件使用(controlnet)
  • STM32F103_LL库+寄存器学习笔记01 - 梳理CubeMX生成的LL库最小的裸机系统框架
  • immortalwrt一键istoreOS风格化
  • Unity射击游戏手榴弹笔记
  • 广告推荐算法 - 学习笔记
  • AL11和SM69 文件服务器中创建文件夹
  • 二叉树练习
  • 垃圾短信分类
  • 深度学习篇---卷积网络结构
  • 浙江演艺集团7部作品组团来沪,今夏开启首届上海演出季
  • 广西百色“致富果”:高品质芒果直供香港,带动近五千户增收
  • 土耳其、美国、乌克兰三边会议开始
  • 澳大利亚首例“漂绿”诉讼开庭:能源巨头因“碳中和”承诺遭起诉
  • 共建医学人工智能高地,上海卫健委与徐汇区将在这些方面合作
  • 鸿海下调全年营收展望:AI服务器业务强劲,预计今年营收增超50%