目录
该方案的思路是:SSH 密钥 + Keychain + 自动启动 Agent,在windows上亲测有效。
步骤1:本地生成 SSH 密钥对(如果尚未生成)
在本地终端执行(Windows 用户推荐使用 Git Bash):
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
# 按提示连续回车,不设置密码(若需更高安全,可设置密码)
密钥默认保存在 ~/.ssh/id_rsa(私钥)和 ~/.ssh/id_rsa.pub(公钥)。
步骤2:将公钥复制到远程服务器
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
ssh -V
# 正常输出示例:OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2
2. 编辑 .bashrc
或 .profile
文件
# 编辑 .bashrc 文件(如果不存在会自动创建)
nano ~/.bashrc
在文件中添加以下内容:
# 自动启动 SSH Agent
if [ -z "$SSH_AUTH_SOCK" ]; then
eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa # 添加你的私钥路径,默认是 id_rsa
fi
3. 将私钥添加到 SSH Agent
# 重新加载配置
source ~/.bashrc
# 测试 Agent 是否正常工作
ssh-add -l
# 输出示例:2048 SHA256:xxx... /c/Users/YourName/.ssh/id_rsa (RSA)
4. 验证配置
ssh username@remote_host
# 如果一切正常,首次连接可能需要输入服务器密码,但后续连接无需输入。
步骤4:VS code远程
VS Code需要已安装 “Remote - SSH” 扩展。完成以上步骤后,就可以自动连接服务器而不需要每次都输入密码了!
鸣谢
感谢来自豆包的指导!