























在虚拟机的 Ubuntu 系统里面已经通过下面的命令安装了 SSH:
sudo apt install openssh-server -y
但是在通过下面的命令查看 SSH 服务是否运行成功的时候报错:
# 查看SSH服务是否运行成功(显示active表示成功)
sudo systemctl status ssh
报错信息如下:

错误原因分析:
这个状态显示得非常清楚:SSH服务已经安装好了,但当前没有运行(inactive (dead)),也没有设置为开机自启(disabled)。
这就是为什么你无法用VS Code连接虚拟机的直接原因——你的Ubuntu系统“关门”了,没有对外提供SSH连接服务。
解决起来非常简单,只需要两步命令,我帮你把服务“启动”并“开门”:
在Ubuntu终端中依次执行以下两条命令:
第一步:启动SSH服务(让程序运行起来)
执行后没有任何提示,就表示成功了。
第二步:设置SSH为开机自启(避免每次重启都要手动开)
sudo systemctl enable ssh
执行后会显示 Created symlink... 之类的提示,表示设置成功。
如下图所示:

再次输入检查状态的命令:
sudo systemctl status ssh
现在你应该会看到状态变成 Active: active (running)(字体颜色变成绿色),这样就说明SSH服务已经正常运行了。 如下图所示:

Ubuntu默认的防火墙是ufw,大部分情况下它是关闭的。但为了确保万无一失,你可以执行下面的命令检查一下:
如果显示 Status: inactive,说明防火墙是关闭的,不用管,直接去VS Code连接即可。
如果显示 Status: active,则需要执行 sudo ufw allow ssh 来放行SSH连接(22端口),然后再去VS Code连接。
在终端输入 ip a,找到类似 inet 192.168.x.x 的那一行(通常是 ens33 或 eth0 下面的)。这就是你的Ubuntu IP地址,在VS Code连接时使用这个IP。

PDF教程里虽然让你安装了 openssh-server,但在某些Ubuntu版本中,安装完成后并不会自动启动服务。需要用户手动敲一下 start 和 enable 来激活。你现在做的正是把这个“最后一步”补上。
执行完上面的命令,你就可以在Windows的VS Code里正常连接你的Ubuntu虚拟机了。如果连接时遇到“连接超时”或“拒绝连接”,先检查虚拟机IP是否输对,再检查Windows和虚拟机是否在同一个网段(NAT模式下通常是通的)。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。