摘要:
 本文详细介绍如何在 Windows 系统上通过 VSCode + Remote-SSH 免密登录远程 Ubuntu 服务器(SSH 端口 2202),避免每次输入密码的繁琐操作,提高开发效率。
1. 环境准备
- 本地系统:Windows 10/11
 - 远程服务器:Ubuntu(SSH 端口 2202)
 - 工具:VSCode + Remote-SSH 插件
 
2. 生成 SSH 密钥对(Windows 端)
在 PowerShell 或 CMD 执行以下命令生成密钥对:
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:手动添加公钥(若已能登录服务器)
- 登录服务器:
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 myserverHostName 服务器IPUser 用户名Port 2202IdentityFile ~/.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 密钥认证
你的支持是我创作的动力!如果对你有帮助,请点赞 + 收藏! 😊