You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法通过SSH将Windows本地VS Code连接至VirtualBox Debian虚拟机

解决VirtualBox Debian虚拟机SSH连接被拒&IP确认问题

一、确定Debian虚拟机的正确IP

  1. VirtualBox网络模式说明
    • NAT模式(默认分配10.0.2.15):该模式下虚拟机可主动访问外部,但Windows主机无法直接通过此IP访问虚拟机,需额外配置端口转发。
    • 桥接模式:虚拟机会获取与主机同网段的IP,主机可直接访问,是SSH连接最便捷的模式。
  2. 获取真实IP的方法
    直接在Debian虚拟机终端执行命令:
    ip a
    
    找到对应网卡(如enp0s3),查看inet字段后的IP地址,此为虚拟机可被主机访问的真实IP。不要使用Windows的ipconfig结果,那是主机自身IP,与虚拟机无关。

二、解决SSH连接被拒问题

1. 确认OpenSSH服务状态

在Debian终端执行:

sudo systemctl status sshd

若显示active (running)则服务正常;若未运行,执行启动并设置开机自启:

sudo systemctl start sshd
sudo systemctl enable sshd

2. 配置防火墙允许SSH端口

若Debian开启了防火墙(如ufw),需放行SSH默认端口22:

sudo ufw allow ssh
sudo ufw reload

3. NAT模式下的端口转发配置(若不切换桥接模式)

打开VirtualBox,选中Debian虚拟机 → 「设置」→ 「网络」→ 「高级」→ 「端口转发」,添加规则:

  • 协议:TCP
  • 主机端口:自定义(如2222)
  • 子系统端口:22
  • 主机IP:留空或填127.0.0.1
  • 子系统IP:虚拟机NAT IP(如10.0.2.15)
    之后主机连接时需指定端口,例如scp命令:
scp -P 2222 %USERPROFILE%/.ssh/linux_rsa.pub 用户名@127.0.0.1:~/.ssh/authorized_keys

4. 桥接模式下的公钥复制步骤

假设查到的Debian IP为192.168.1.100,用户名为debian,执行:

scp %USERPROFILE%/.ssh/linux_rsa.pub debian@192.168.1.100:~/.ssh/authorized_keys

若提示权限问题,先在Debian终端创建并配置.ssh目录权限:

mkdir -p ~/.ssh
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

三、VS Code SSH连接配置

复制公钥完成后,在VS Code中操作:

  • 按F1,输入Remote-SSH: Connect to Host → 选择「Add New SSH Host」
  • 输入连接命令:桥接模式填ssh 用户名@虚拟机IP,NAT端口转发模式填ssh 用户名@127.0.0.1 -p 自定义端口
  • 保存配置后即可发起连接

内容的提问来源于stack exchange,提问作者MARIO_7506010

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 07:24:22