在 Windows 10 环境下,使用 Visual Studio Code (VS Code) 通过 SSH 密钥连接远程环境的步骤与其他操作系统相似,主要的区别在于 SSH 密钥的管理和 VS Code 的设置。下面是详细的步骤:
- 安装 VS Code 和 Remote - SSH 插件
安装 Visual Studio Code:如果还没有安装 VS Code,可以从 VS Code 官网 下载并安装。
安装 Remote - SSH 插件:
打开 VS Code,点击左侧边栏的 扩展(Extensions)图标,或使用快捷键 Ctrl+Shift+X。
在搜索框中输入 Remote - SSH,点击 安装。 - 生成 SSH 密钥(如果没有)
在 Windows 10 上,使用 Git Bash 或 Windows Subsystem for Linux (WSL) 来生成 SSH 密钥对:
使用 Git Bash 生成 SSH 密钥:
安装 Git:如果没有安装 Git,可以从 Git 官网 下载并安装。
打开 Git Bash(安装后会自动添加到右键菜单)。
运行以下命令生成 SSH 密钥对:
bash
复制代码
ssh-keygen -t rsa -b 4096 -C “your_email@example.com”
按照提示,选择保存密钥的位置(默认是 C:\Users<YourUsername>.ssh\id_rsa),并设置密码保护(可以跳过)。
生成的密钥对将保存在:
公钥:C:\Users<YourUsername>.ssh\id_rsa.pub
私钥:C:\Users<YourUsername>.ssh\id_rsa
3. 将公钥添加到远程服务器
将生成的公钥(id_rsa.pub)添加到远程服务器的 ~/.ssh/authorized_keys 文件中。如果你可以通过密码方式登录远程服务器,可以使用 ssh-copy-id 来自动添加公钥:
bash
复制代码
ssh-copy-id user@remote_host
如果无法使用 ssh-copy-id,你可以手动复制 id_rsa.pub 的内容,并粘贴到远程主机的 ~/.ssh/authorized_keys 文件中。
- 配置 SSH 客户端(Windows)
在 Windows 中,SSH 默认会使用 C:\Users<YourUsername>.ssh\ 目录下的密钥。如果需要配置 SSH 客户端使用特定的密钥,可以手动编辑 SSH 配置文件。
打开 Git Bash,编辑或创建 ~/.ssh/config 文件:
bash
复制代码
nano ~/.ssh/config
添加以下内容,确保指向正确的私钥文件路径:
bash
复制代码
Host remote_host
HostName remote_host_address
User your_username
IdentityFile C:/Users//.ssh/id_rsa
remote_host 是你为远程主机设置的别名,可以是任意名称。
remote_host_address 是远程主机的 IP 地址或主机名。
your_username 是远程主机的用户名。
IdentityFile 指定了私钥的路径,注意 Windows 路径需要使用斜杠 /。
5. 在 VS Code 中配置 SSH 连接
打开 VS Code,按 Ctrl+Shift+P 打开命令面板。
搜索并选择 Remote-SSH: Connect to Host…。
选择 Add New SSH Host,然后输入以下内容:
sql
复制代码
ssh user@remote_host
如果你已在 SSH 配置文件中设置了私钥路径,VS Code 会自动使用该密钥。如果没有,你可以选择手动指定密钥路径。
如果这是第一次连接,VS Code 会提示你选择使用哪个密钥文件(选择 id_rsa)。
输入密码(如果没有配置密钥,或者远程服务器需要密码),然后等待连接。
-
确认连接
成功连接后,VS Code 会切换到远程开发环境,顶部会显示远程主机的名称,您可以开始编辑远程服务器上的文件。 -
常见问题排查
Permissions 0644 for ‘private-key’ are too open 错误:确保你的私钥文件权限设置为 600。虽然在 Windows 中这个错误不常见,但如果你遇到类似问题,可以确保文件权限正确:
bash
复制代码
chmod 600 ~/.ssh/id_rsa
无法连接:如果你遇到连接问题,检查 ~/.ssh/config 配置是否正确,确保公钥已经正确添加到远程服务器的 ~/.ssh/authorized_keys 文件中。
通过以上步骤,你就可以在 Windows 10 环境中使用 VS Code 通过 SSH 密钥连接到远程服务器,进行开发工作。