排查步骤

1. 检查虚拟机是否启用了 SSH 服务

WinSCP 连接虚拟机需要 SSH 服务在虚拟机中运行。

检查 SSH 服务状态:

在虚拟机中执行以下命令:sudo systemctl status ssh

  • 如果 SSH 服务未启动:

 sudo systemctl start ssh

 sudo systemctl enable ssh # 设置开机自启

  • 如果未安装 SSH:

 sudo apt update

 sudo apt install openssh-server


2. 确保虚拟机防火墙未阻止 SSH 端口(22)

在虚拟机中执行:

sudo ufw allow ssh

sudo ufw enable

sudo ufw status

确保状态显示 22/tcp ALLOW

3. 检查宿主机和虚拟机之间的连通性

  • 虚拟机中(linux系统)通过ifconfig查看ens33的inet部分即虚拟机IP

  • 宿主机 中 Ping 虚拟机 IP:

    ping 192.168.160.128(虚拟机 IP)

    如果 Ping 不通:
    • 检查虚拟机是否正确联网(例如:NAT 或桥接模式)。
    • 检查是否启用了 VMware 的网络适配器。

注意:在ifconfig之后

(1)如果只显示lo(lookback接口)

是网络配置问题

 解决方案
 1. 检查虚拟机网络适配器是否启用

VMwareVirtualBox 中:

  • 确保网络适配器已启用。
  • 如果是 VMware,检查设置中是否勾选了 Connect at power on
2. 重启网络服务

在虚拟机内运行以下命令重启网络服务:

sudo systemctl restart NetworkManager

sudo service networking restart

3. 检查网络接口信息

ip link show

  • 确保网络接口(例如 eth0ens33 等)处于 UP 状态。
  • 如果接口显示为 DOWN,可以手动启用:

    sudo ip link set <interface> up

4. 手动获取 IP 地址

尝试使用 dhclient 请求 IP 地址:

sudo dhclient <interface>

5. 安装和检查驱动

确保虚拟机中安装了正确的网络驱动(例如 VMware ToolsVirtualBox Guest Additions)。

sudo apt-get install open-vm-tools-desktop # VMware

sudo apt-get install virtualbox-guest-dkms # VirtualBox

个人是在4. 手动获取 IP 地址  这个方法解决

(2)如果只有Ipv6地址,需要请求DHCP重新分配Ipv4

ifconfig 的输出结果显示 ens33 网络接口只展示了 IPv6 地址,而没有显示 IPv4 地址。可能是由于网络配置不当或 DHCP(动态主机配置协议)没有成功分配 IPv4 地址。

原因分析
  1. 未获取到 DHCP 分配的 IPv4 地址
    虚拟机的网络适配器配置成了 DHCP 自动获取 IP,但没有成功分配 IPv4 地址。
  2. 虚拟机的网络设置有误
    可能虚拟机的网络模式(如 NAT、桥接模式等)配置错误。
  3. NetworkManager 或网络服务未正确启动
    网络管理服务未能正常工作,导致网络接口没有获取到 IPv4 地址。
解决方案
1. 重新请求 DHCP 获取 IPv4 地址

在虚拟机中,尝试重新请求 DHCP 分配 IP 地址。

sudo dhclient ens33

执行完后,再次运行 ifconfig 查看是否有 IPv4 地址。

2. 检查虚拟机的网络模式
  • 如你使用 VMwareVirtualBox,确保虚拟机的网络模式配置正确:
    • NAT:虚拟机可以通过主机的网络访问外网。
    • 桥接模式(Bridged):虚拟机直接连接到物理网络,与主机在同一网段。

修改网络设置后,重启虚拟机的网络服务或重启虚拟机。

3. 重启网络服务

尝试重启虚拟机的网络服务:

sudo systemctl restart NetworkManager

或者:

sudo service networking restart

个人情况使用1.重新请求 DHCP 获取 IPv4 地址这个方法解决
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐