VS Code Remote-SSH 1.96 跳板机配置:3步实现密钥免密登录与文件管理

📅 2026/7/11 22:36:06
VS Code Remote-SSH 1.96 跳板机配置:3步实现密钥免密登录与文件管理
VS Code Remote-SSH 1.96 跳板机配置3步实现密钥免密登录与文件管理对于需要频繁通过跳板机访问内网服务器的开发者来说每次连接都需要输入密码不仅效率低下还存在安全隐患。本文将介绍如何利用VS Code Remote-SSH插件1.96版本配置完全免密的密钥登录方案只需3个步骤即可实现安全便捷的远程开发体验。1. 环境准备与密钥配置在开始配置前确保你的开发环境满足以下条件VS Code 1.86或更高版本Remote-SSH插件1.96版本本地已安装OpenSSH客户端Windows 10和macOS默认包含1.1 生成SSH密钥对打开终端macOS/Linux或PowerShellWindows执行以下命令生成密钥对ssh-keygen -t ed25519 -f ~/.ssh/vscode_remote -C vscode_remote_$(date %Y%m%d)参数说明-t ed25519使用更安全的Ed25519算法-f指定密钥文件路径和名称-C添加注释信息包含当前日期便于识别生成成功后你会得到两个文件vscode_remote私钥需妥善保管vscode_remote.pub公钥1.2 分发公钥到跳板机和目标服务器将公钥分发到跳板机ssh-copy-id -i ~/.ssh/vscode_remote.pub usernamejump_host -p 22对于目标服务器如果无法直接访问可以先登录跳板机再从跳板机分发# 登录跳板机后执行 ssh-copy-id -i ~/.ssh/vscode_remote.pub usernametarget_host注意如果目标服务器SSH端口不是默认的22需要添加-p参数指定端口号2. SSH配置文件优化VS Code Remote-SSH的核心配置在于~/.ssh/config文件。下面是一个完整的配置示例# 跳板机配置 Host jumpbox HostName jump.example.com User jump_user Port 2222 IdentityFile ~/.ssh/vscode_remote IdentitiesOnly yes ForwardAgent no # 目标服务器配置通过跳板机 Host target-server HostName 192.168.1.100 User dev_user Port 22 IdentityFile ~/.ssh/vscode_remote ProxyCommand ssh -W %h:%p jumpbox ServerAliveInterval 60 TCPKeepAlive yes关键配置解析参数作用推荐值IdentitiesOnly只使用指定的密钥yesForwardAgent禁用代理转发no安全考虑ProxyCommand跳板机连接命令ssh -W %h:%p jumpboxServerAliveInterval保持连接活跃60秒2.1 多跳板机场景配置对于需要经过多个跳板机的复杂网络环境可以使用嵌套的ProxyCommandHost final-target HostName 10.8.0.5 User admin IdentityFile ~/.ssh/vscode_remote ProxyCommand ssh -W %h:%p intermediate-jump3. VS Code集成与文件管理完成SSH配置后在VS Code中只需简单几步即可连接点击活动栏中的远程资源管理器图标选择SSH Targets右键点击配置好的主机如target-server选择Connect to Host in Current Window3.1 高级文件管理技巧成功连接后你可以充分利用VS Code的文件管理功能直接编辑远程文件通过资源管理器像操作本地文件一样编辑远程文件集成终端按Ctrl打开与目标服务器直接连接的终端端口转发右键点击端口号选择Forward Port实现本地访问远程服务常见问题排查连接超时检查ServerAliveInterval设置确认网络防火墙规则权限拒绝chmod 600 ~/.ssh/vscode_remote chmod 644 ~/.ssh/vscode_remote.pubVS Code服务器无法启动在命令面板执行Kill VS Code Server on Host重新连接4. 安全增强措施为确保远程连接的安全性建议实施以下措施密钥加密ssh-keygen -p -f ~/.ssh/vscode_remote配置严格的文件权限chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys服务器端加固禁用密码认证限制可登录用户启用失败尝试限制安全配置示例/etc/ssh/sshd_configPubkeyAuthentication yes PasswordAuthentication no PermitRootLogin no MaxAuthTries 3 LoginGraceTime 1m配置完成后需重启SSH服务sudo systemctl restart sshd