vs code远程自动登录服务器,无需手动输入密码的终极方案(windows版)

目录

  • [步骤1:本地生成 SSH 密钥对(如果尚未生成)](#步骤1:本地生成 SSH 密钥对(如果尚未生成))
  • 步骤2:将公钥复制到远程服务器
  • [步骤3:配置 SSH Agent 自动启动](#步骤3:配置 SSH Agent 自动启动)
    • [1. 检查是否已安装 OpenSSH](#1. 检查是否已安装 OpenSSH)
    • [2. 编辑 `.bashrc` 或 `.profile` 文件](#2. 编辑 .bashrc 或 .profile 文件)
    • [3. 将私钥添加到 SSH Agent](#3. 将私钥添加到 SSH Agent)
    • [4. 验证配置](#4. 验证配置)
  • [步骤4:VS code远程](#步骤4:VS code远程)
  • 鸣谢

该方案的思路是:SSH 密钥 + Keychain + 自动启动 Agent,在windows上亲测有效。

步骤1:本地生成 SSH 密钥对(如果尚未生成)

在本地终端执行(Windows 用户推荐使用 Git Bash):

bash 复制代码
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
# 按提示连续回车,不设置密码(若需更高安全,可设置密码)

密钥默认保存在 ~/.ssh/id_rsa(私钥)和 ~/.ssh/id_rsa.pub(公钥)。

步骤2:将公钥复制到远程服务器

bash 复制代码
ssh-copy-id username@remote_host
# 例如:ssh-copy-id root@192.168.1.100

输入一次远程服务器密码后,公钥会被自动添加到服务器的 ~/.ssh/authorized_keys 中。

步骤3:配置 SSH Agent 自动启动

Git Bash 是 Windows 上使用 SSH 最接近 Linux/macOS 体验的方式,配置步骤如下:

1. 检查是否已安装 OpenSSH

bash 复制代码
ssh -V
# 正常输出示例:OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2

2. 编辑 .bashrc 或 .profile 文件

bash 复制代码
# 编辑 .bashrc 文件(如果不存在会自动创建)
nano ~/.bashrc

在文件中添加以下内容:

bash 复制代码
# 自动启动 SSH Agent
if [ -z "$SSH_AUTH_SOCK" ]; then
    eval $(ssh-agent -s)
    ssh-add ~/.ssh/id_rsa  # 添加你的私钥路径,默认是 id_rsa
fi

3. 将私钥添加到 SSH Agent

bash 复制代码
# 重新加载配置
source ~/.bashrc

# 测试 Agent 是否正常工作
ssh-add -l
# 输出示例:2048 SHA256:xxx... /c/Users/YourName/.ssh/id_rsa (RSA)

4. 验证配置

bash 复制代码
ssh username@remote_host
# 如果一切正常,首次连接可能需要输入服务器密码,但后续连接无需输入。

步骤4:VS code远程

VS Code需要已安装 "Remote - SSH" 扩展。完成以上步骤后,就可以自动连接服务器而不需要每次都输入密码了!

鸣谢

感谢来自豆包的指导!

相关推荐
可乐_不渴6 分钟前
# C语言文件操作全解析:从 fopen 到 fclose,一文吃透文件 IO
linux·服务器·c语言
李纲明24 分钟前
WordPress 媒体库上传失败或一直转圈:先核 PHP 上传限制与目录权限,再查安全插件与对象存储
运维·开发语言·安全·php·wordpress·媒体库·devdiy
志栋智能8 小时前
运维超自动化的版本控制与回滚机制
运维·自动化
中云DDoS CC防护蔡蔡9 小时前
DDOS和CC攻击谁更可怕
运维·服务器·经验分享·网络安全·ddos
Ruiery9 小时前
Linux 6.6内核内存管理深度解析(十六):mmap — 用户态“申请内存“的真相
linux·运维·服务器
ClickHouseDB9 小时前
ClickHouse Cloud 与 Snowflake 实时性价比对比:CostBench 测试中的 412 倍差距来
运维·数据库·系统架构
欧米欧9 小时前
Linux系统篇(七),环境变量的底层溯源,核心获取机制与安全应用
linux·运维·服务器
Ruiery9 小时前
Linux 6.6内核内存管理深度解析(十八):KASLR 内核地址空间随机化
linux·运维·服务器·安全
todoitbo10 小时前
群晖NAS部署JmalCloud:Docker安装、文件管理、博客与公网访问完整教程
运维·docker·容器
时间售卖铺10 小时前
触发器与函数实战:MySQL高效编程秘诀
运维·数据库·mysql·云原生