云计算百科
云计算领域专业知识百科平台

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 端)

在 PowerShell 或 CMD 执行以下命令生成密钥对:

sshkeygen 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:手动添加公钥(若已能登录服务器)

  • 登录服务器:ssh p 2202 用户名@服务器IP
  • 在服务器上执行: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

  • 安装 Remote-SSH 插件

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

    • 按 F1 或 Ctrl+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。
  • 连接测试

    • 点击 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 密钥认证


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

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » Windows 10/11 使用 VSCode + SSH 免密远程连接 Ubuntu 服务器(指定端口)
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!