1028 字
5 分钟
VSCode + SSH + Docker 完整配置流程

以下是一份完整的、可复用的配置流程,从一台全新的 Linux 机器到 VSCode 免密管理 Docker,按顺序执行即可。


一、Linux 端准备#

1.1 开启 SSH 服务#

Kali Linux:

Terminal window
# 启动 SSH
sudo /etc/init.d/ssh start
# 开机自启
sudo systemctl enable ssh.service

Ubuntu/Debian:

Terminal window
# 安装并启动
sudo apt-get update
sudo apt-get install -y openssh-server
sudo service ssh start

1.2 查看 IP 地址#

Terminal window
ip a

记下 inet 后面的局域网 IP(如 192.168.17.129)。


二、Windows 端准备#

2.1 安装 VSCode 插件#

打开 VSCode,安装以下扩展:

  • Remote - SSH
  • Docker

2.2 生成 SSH 密钥对#

打开 PowerShell,执行:

Terminal window
ssh-keygen -t ed25519
  • 保存路径:直接回车(默认 C:\Users\你的用户名\.ssh\id_ed25519
  • 密码:直接回车(不设密码,实现完全免密)

生成后确认文件存在:

Terminal window
ls $env:USERPROFILE\.ssh\

应看到:

  • id_ed25519 —— 私钥(留在 Windows)
  • id_ed25519.pub —— 公钥(放到 Linux)

三、配置免密登录(公私钥)#

3.1 将公钥上传到 Linux#

方法一:命令自动上传(推荐) 在 Windows PowerShell 执行(替换 IP 和用户名):

Terminal window
type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh kali@192.168.17.129 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys && chmod 700 ~/.ssh"

输入一次密码后,公钥即上传完成。

方法二:手动复制

  1. 用记事本打开 C:\Users\你的用户名\.ssh\id_ed25519.pub,复制全部内容
  2. 在 VSCode 连上的 Linux 终端中:
    Terminal window
    nano ~/.ssh/authorized_keys
  3. 粘贴 → Ctrl+O 回车保存 → Ctrl+X 退出
  4. 设置权限:
    Terminal window
    chmod 600 ~/.ssh/authorized_keys
    chmod 700 ~/.ssh

3.2 配置 VSCode SSH 使用私钥#

Ctrl+Shift+PRemote-SSH: Open SSH Configuration File → 选择第一个。

添加或修改配置:

Host kali
HostName 192.168.17.129
User kali
IdentityFile C:\Users\你的用户名\.ssh\id_ed25519

注意IdentityFile 指向的是私钥id_ed25519),不是 .pub

3.3 修复 Windows 私钥权限(关键!)#

在 PowerShell 执行:

Terminal window
cd $env:USERPROFILE\.ssh
# 移除继承权限,仅保留当前用户读取
icacls id_ed25519 /inheritance:r
icacls id_ed25519 /grant:r "$($env:USERNAME):(R)"

3.4 测试免密连接#

在 PowerShell 测试:

Terminal window
ssh -i $env:USERPROFILE\.ssh\id_ed25519 kali@192.168.17.129

如果直接连上,说明配置成功。

然后在 VSCode 中:

  1. 点击左下角绿色 >< 图标
  2. 选择 Connect to Host...kali
  3. 应直接连上,不再提示密码

四、Linux 端安装 Docker#

4.1 安装 Docker#

推荐方式(Ubuntu/Debian):

Terminal window
wget -qO- https://get.docker.com/ | sh

Kali Linux(Docker 官方不支持 Kali,需手动):

Terminal window
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg lsb-release
# 添加 GPG key
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# 使用 Debian 源(Kali 基于 Debian)
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian buster stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 安装
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

4.2 验证安装#

Terminal window
sudo docker run hello-world

看到 Hello from Docker! 即成功。


五、解决 Docker 权限问题#

VSCode 连上后,Docker 插件可能提示无法访问 /var/run/docker.sock

一劳永逸的解法:

在 Linux 终端执行:

Terminal window
# 将当前用户加入 docker 组
sudo usermod -aG docker $USER
# 重启 Docker 服务
sudo systemctl restart docker

然后断开 VSCode SSH 连接,重新连接(或重启 Linux)。

验证:

Terminal window
docker ps

不再提示权限错误即成功。


六、VSCode Docker 插件使用#

连接成功后,左侧边栏出现 Docker 图标,常用功能:

功能操作
拉取镜像Images → 右键 Pull 或终端执行 docker pull
运行容器镜像右键 → Run(后台)/ Run Interactive(带日志)
进入容器终端容器右键 → Attach Shell
查看日志容器右键 → View Logs
编辑容器文件展开容器 Files 树,直接双击修改
端口转发容器右键 → Forward Port,自动映射到 Windows 本地
浏览器打开端口转发后,右键 Open in Browser

七、快速检查清单#

每次复用或排查问题时,按以下顺序检查:

检查项命令/操作
Linux SSH 是否运行sudo service ssh status
Windows 私钥权限icacls C:\Users\用户名\.ssh\id_ed25519(应只有当前用户)
Linux 公钥是否正确cat ~/.ssh/authorized_keys
Linux .ssh 权限ls -la ~/.ssh(700 + 600)
用户是否在 docker 组groups(应看到 docker
VSCode 配置路径IdentityFile 指向私钥,不是 .pub

八、配置文件模板#

Windows SSH 配置C:\Users\用户名\.ssh\config):

Host kali
HostName 192.168.17.129
User kali
IdentityFile C:\Users\你的用户名\.ssh\id_ed25519
ForwardAgent yes

Linux SSH 配置/etc/ssh/sshd_config,可选加固):

PubkeyAuthentication yes
PasswordAuthentication no # 确认密钥可用后再开启,禁用密码登录

修改后重启 SSH:

Terminal window
sudo service ssh restart

按这个流程走,任何新的 Kali/Ubuntu/Debian 机器都可以在 5 分钟内配置好完整的远程 Docker 开发环境。

VSCode + SSH + Docker 完整配置流程
https://youki.bbroot.com/posts/tools/vscode-ssh-docker/
作者
youki
发布于
2026-04-25
许可协议
CC BY-NC-SA 4.0