一 连接服务器
VS code 要先安装Remote SSH 扩展。
打开VS code ,点击右下角的“连接”按钮
2.点击“连接到主机”
3.点击“添加新的SSH主机”
4.输入服务器账号 用户名@ip地址
5.选择默认的配置文件(选第一个)
6.点击“连接”
7.选择你服务器平台
8.选择“继续”
9.输入服务器密码
10. 看到右下角或者SSH显示“已连接”,表示连接成功
二 设置免密登录远程服务器
只用密码登录的情况下,每次打开VS code 都需要输入服务器密码,每次新开远程文件夹、新开远程窗口、断开重连都会重复输服务器密码,比较麻烦
原因:VSCode 打开远程文件夹会新建独立 SFTP/SSH 通道,密码不会缓存;只有配置SSH 密钥免密登录,全程只输一次密码(第一次推送公钥时),之后随便切换文件夹、重连都不用再输。
步骤1:本地 Windows 生成密钥对(PowerShell 执行)
ssh-keygen -t ed25519这条命令用来生成一套 SSH 密钥对(私钥 + 公钥),实现免密登录服务器,不用每次输密码。
ssh-keygen 是ssh 配套工具,专门用来创建、管理 SSH 身份密钥。参数t= type,指定密钥加密算法类型。ed25519 是当前最推荐、安全性高、速度快的加密算法,替代老旧的 rsa。
执行命令后,一路直接回车,不要设置密钥密码(设置了每次还要输密钥密码,等于没免密)
生成文件路径:
私钥:C:\Users\你的用户名\.ssh\id_ed25519
公钥:C:\Users\你的用户名\.ssh\id_ed25519.pub
步骤 2:把公钥传到你的 Linux 服务器(Windows 专用命令)
Windows 没有ssh-copy-id,直接执行这条完整命令,其中XX@shturl.cc/wREox里面,XX替换参数:XX= 你的服务器用户名,shturl.cc/wREox= 服务器 IP,-p 端口非 22 端口才加(如:你的端口为2022,就写成-p 2022)
type ~/.ssh/id_ed25519.pub | ssh XX@shturl.cc/wREox "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys"执行上述命令后,输入1 次服务器密码,公钥就永久上传到服务器。
步骤 3:修改 SSH config 文件,绑定私钥(VSCode 识别免密)
1)VSCode 左侧远程资源管理器 → SSH 右侧齿轮图标 →Open SSH Configuration File
2)或者,打开C:\Users\你的用户名\.ssh\config,写入模板(替换你的信息)
添加一行该命令
步骤 4:测试免密
本地 PowerShell 直接执行:
ssh XXX
执行结果就是不用输入密码直接进入你的远程服务器。
这里的XXX是你的Host名称,C:\Users\你的用户名\.ssh\config文件中,有你的Host。
三 进入VS code就登入远程服务器,如何退出回到本地?
点击“关闭远程连接”就可以退回到本地了。