排查步骤

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. 检查虚拟机网络适配器是否启用

在 VMware 或 VirtualBox 中:

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

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

sudo systemctl restart NetworkManager

sudo service networking restart

3. 检查网络接口信息

ip link show

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

    sudo ip link set <interface> up

4. 手动获取 IP 地址

尝试使用 dhclient 请求 IP 地址:

sudo dhclient <interface>

5. 安装和检查驱动

确保虚拟机中安装了正确的网络驱动(例如 VMware Tools 或 VirtualBox 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. 检查虚拟机的网络模式
  • 如你使用 VMware 或 VirtualBox,确保虚拟机的网络模式配置正确:
    • NAT:虚拟机可以通过主机的网络访问外网。
    • 桥接模式(Bridged):虚拟机直接连接到物理网络,与主机在同一网段。

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

3. 重启网络服务

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

sudo systemctl restart NetworkManager

或者:

sudo service networking restart

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

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

更多推荐