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

无外网环境下如何从VirtualBox Ubuntu 8.04虚拟机SSH/SSHFS访问Debian 9宿主机

当然可以!完全不需要依赖外部网络,VirtualBox自带的内部网络机制就能轻松实现虚拟机到宿主机的SSH/SSHFS访问,下面一步步给你拆解具体操作:

第一步:配置VirtualBox的虚拟机网络模式

我们用「仅主机适配器(Host-Only Adapter)」模式就够了,这个模式专门用于宿主机和虚拟机之间的私有通信,完全隔离外部网络:

  • 打开VirtualBox,选中你的Ubuntu 8.04虚拟机,点击顶部的「设置」按钮
  • 切换到「网络」标签页,在「网络适配器1」的下拉菜单里选择「仅主机适配器」
  • 点击右侧的「高级」按钮,把「混杂模式」设置为「允许所有」(避免网络权限问题)
  • 点击「确定」保存配置
第二步:确认宿主机和虚拟机的网络连通性

配置完网络后,先确保两者能互相 ping 通:

  1. 查看宿主机的Host-Only网卡IP:在Debian 9宿主机的终端里执行:
    ip addr show vboxnet0
    
    你会看到类似inet 192.168.56.1/24的输出,这个192.168.56.1就是宿主机在私有网络里的IP。
  2. 查看虚拟机的IP:启动Ubuntu 8.04虚拟机,在终端里执行:
    ifconfig
    
    找到对应网卡(一般是eth0)的IP,应该是192.168.56.x的网段(比如192.168.56.101)。
  3. 测试连通性:在虚拟机终端里ping宿主机IP:
    ping 192.168.56.1
    
    如果能收到回包,说明网络已经通了。
第三步:确保宿主机的SSH服务正常运行

Debian 9默认应该预装了openssh-server,但还是确认一下:

  • 在宿主机终端执行,查看SSH服务状态:
    systemctl status ssh
    
    如果显示active (running)就没问题;如果没装,因为没有外网,你得用Debian 9的安装镜像配置本地源来安装(本地源配置方法可以参考系统文档,这里就不展开了)。
  • (可选)调整SSH配置适配老系统:编辑/etc/ssh/sshd_config文件,确保以下配置(方便Ubuntu 8.04的老SSH客户端连接):
    PermitRootLogin yes  # 如果你想用root账户登录,或者设为prohibit-password用密钥登录
    PasswordAuthentication yes  # 允许密码登录,老客户端可能默认需要这个
    
    修改完后重启SSH服务:
    sudo systemctl restart ssh
    
  • (可选)防火墙放行:如果宿主机开了ufw防火墙,允许Host-Only网段的SSH访问:
    sudo ufw allow from 192.168.56.0/24 to any port 22
    
第四步:从虚拟机通过SSH访问宿主机

现在直接在Ubuntu 8.04的终端里执行连接命令就行:

ssh 宿主机用户名@宿主机Host-OnlyIP

比如你的宿主机用户是debian_user,IP是192.168.56.1,就输:

ssh debian_user@192.168.56.1

第一次连接会提示确认主机指纹,输入yes,然后输入宿主机用户的密码,就能成功登录宿主机了!

第五步:用SSHFS挂载宿主机目录到虚拟机

如果要直接访问宿主机的文件目录,用SSHFS挂载更方便:

  1. 在虚拟机里安装SSHFS:因为没有外网,得用Ubuntu 8.04的安装ISO配置本地源来安装。挂载ISO后,编辑/etc/apt/sources.list添加本地源,然后执行:
    sudo apt-get update && sudo apt-get install sshfs
    
  2. 创建挂载点:在虚拟机里建一个目录用来挂载宿主机目录:
    mkdir ~/host_shared
    
  3. 执行挂载命令:
    sshfs 宿主机用户名@宿主机Host-OnlyIP:/宿主机目标目录 ~/host_shared
    
    比如要挂载宿主机的/home/debian_user/Documents目录,就输:
    sshfs debian_user@192.168.56.1:/home/debian_user/Documents ~/host_shared
    
    输入密码后,你就能在虚拟机的~/host_shared里直接操作宿主机的文件了!
  4. 卸载挂载:不用的时候可以卸载:
    fusermount -u ~/host_shared
    
额外优化:免密码登录

不想每次输密码的话,可以配置SSH密钥登录:

  1. 在虚拟机终端生成密钥对:
    ssh-keygen
    
    一路按回车默认生成就行。
  2. 把虚拟机的公钥复制到宿主机:
    ssh-copy-id 宿主机用户名@宿主机Host-OnlyIP
    
    输入一次密码后,下次再用SSH或SSHFS连接就不用输密码了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:32:26