如果你在Windows上的VirtualBox运行Ubuntu,想从Windows终端SSH连接------这份指南会清楚地带你了解所有流程。
如果你想:
练习Linux服务器管理
像远程机器一样访问你的虚拟机
模拟多个用户会话
在不使用虚拟机窗口的情况下,从Windows执行命令
我们开始吧。
第一步。在 Ubuntu 虚拟机中安装 OpenSSH 服务器
打开你的Ubuntu终端,切换到root权限(可选但方便):
sql
sudo -i
安装SSH服务器:
sql
apt install openssh-server

检查SSH服务器是否正在运行:
sql
systemctl status ssh

如果你看到"active(running)",那就没问题。
第二步。启用密码认证(可选,但此处必须)
SSH有时会默认禁用密码登录。
打开SSH服务器配置:
sql
nano /etc/ssh/sshd_config
找到这句话:
sql
#PasswordAuthentication no
改成:
sql
PasswordAuthentication yes

保存并退出(先按 Ctrl X 然后按 'y'),然后重启 SSH:
sql
systemctl restart ssh
第三步。设置VirtualBox端口转发(关键步骤)
你的虚拟机位于VirtualBox的NAT网络后面,这意味着:
它可以上网
但外部机器(比如Windows)无法直接访问虚拟机
为了允许Windows到Ubuntu虚拟机的SSH流量,我们创建了一个转发规则。
在VirtualBox中:
i. 选择你的Ubuntu虚拟机
ii. 网络> >适配器1的设置
iii、附属:NAT
iv. 点击高级>端口转发

添加规则:
名字 协议 主机IP 主机移植 访客IP 客串移植
sql
SSH TCP 127.0.0.1 2222 22

(访客IP可以留空------VirtualBox会自动填充)
这告诉VirtualBox: "当Windows将流量发送到127.0.0.1:2222时,转发到虚拟机的端口22。"
第四步。检查一下Windows是否有SSH客户端
Windows 10 和 11 已经自带了 OpenSSH 客户端。
使用Windows终端验证:
sql
ssh -V
如果你拿到版本号,说明它已经安装好了。
如果没有,请启用:
设置 > 系统 > 可选功能 > 添加"OpenSSH 客户端"功能>
通常不需要更改防火墙,因为允许出站连接。
第五步。从Windows用SSH连接到Ubuntu虚拟机
打开Windows终端或CMD并运行:
sql
ssh -p 2222 <your-ubuntu-username>@127.0.0.1
输入你的Ubuntu用户密码------你就能进入Windows的虚拟机!

总结
只需NAT端口转发和一些配置调整,你的Windows机器就能像真正的远程服务器一样SSH连接到Ubuntu虚拟机。非常适合学习Linux、DevOps或云工作流程。
如果你觉得有帮助,欢迎留言------祝你破解愉快!