使用SSH在宿主机上操作虚拟机

问题背景

我们在虚拟机软件如 VMware 或者 VirtualBox 上安装虚拟机运行服务器。使用一段时间以后,我们可能会厌烦通过虚拟机软件自带的控制台窗口操作服务器,它确实带来一些不便,比如:

  • 剪贴板不互通,向复制一段报错信息问llm都不顺手
  • 自带的控制台窗口一旦focus,就无法轻易地快捷键切应用回宿主机
  • 等等
    我们会想,要是有方法在自己的宿主机命令行下操作我的虚拟机就好了。那么,ssh就能很好的满足我们的需求。

解决方法

  1. 虚拟机上安装openssh-server

    1
    2
    3
    4
    5
    sudo apt update
    sudo apt install openssh-server
    sudo systemctl enable ssh
    sudo systemctl start ssh
    sudo systemctl status ssh # 检查运行状态,应显示active
  2. 虚拟机软件开启端口转发。
    以 VirtualBox 为例,设置 - 网络 - NAT - 端口转发,
    添加端口转发规则:

    • 名称:ssh
    • 协议:TCP
    • 主机端口:<你的主机端口>
    • 子系统端口:22(ssh默认监听22端口
      这里我有三台虚拟机,因此主机端口依次设置为2222, 2223, 2224
  3. 宿主机运行

    1
    ssh <虚拟机用户名>@localhost -p <设置的主机端口>
  4. 第一次运行会显示类似key fingerprints xxx are unknown的提示,输入yes信任即可。之后会让你输入服务器密码,也就是你虚拟机设置的密码登录,就能在宿主机上控制服务器了!


使用SSH在宿主机上操作虚拟机
https://becks723.github.io/2026/03/28/使用SSH在宿主机上操作虚拟机/
作者
Becks723
发布于
2026年3月28日
许可协议