虚拟机与主机的ssh连接 ubuntu22.04 nmcli管理

1.安装时配置两个网卡

1.第一个网卡是仅主机模式 用于ssh连接
2.第二个网卡是NAT模式 用于联网

2.根据特定的网络管理方式来配置网卡

1.nmcli的Ubuntu图形化方式管理
2.配置文件

3.其他问题排查

1.可以ping通主机, 不能ping通虚拟机

问题描述:这是我的网络配置

2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:b7:da:e7 brd ff:ff:ff:ff:ff:ff
altname enp2s1
inet 192.168.72.129/24 brd 192.168.72.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet6 fe80::8df3:e800:4a57:b0c/64 scope link noprefixroute 
valid_lft forever preferred_lft forever
3: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:b7:da:f1 brd ff:ff:ff:ff:ff:ff
altname enp2s2
inet 192.168.72.128/24 brd 192.168.72.255 scope global dynamic noprefixroute ens34
valid_lft 1418sec preferred_lft 1418sec
inet6 fe80::3948:38fe:8cbb:39f8/64 scope link noprefixroute 
valid_lft forever preferred_lft forever

你应该可以看到, 我的ens34是临时的, ens33是永久的
ens33是仅主机模式
ens34是nat模式
为什么我的主机只可以ssh连接到ens34的地址
却连接不到ens33的地址呢
回答如下:
根据你提供的网络配置信息,看起来你的 ens33 接口配置为永久地址(permanent),而 ens34 接口配置为临时地址(dynamic)。这可能导致你只能通过 ens34 的地址进行 SSH 连接。
首先,确保你的网络设置允许通过 ens33 接口进行 SSH 连接。你可以检查防火墙设置,确认是否允许 SSH 连接到 ens33 的地址。可以尝试以下步骤:

  1. 检查防火墙设置
    确保防火墙允许 SSH 连接到 ens33 的地址。你可以使用以下命令查看当前防火墙规则:
    sudo iptables -L
    
    如果有防火墙规则限制了对 ens33 的访问,你可以添加规则来允许 SSH 连接:
    sudo iptables -A INPUT -i ens33 -p tcp --dport 22 -j ACCEPT
    
    这会允许来自 ens33 接口的 SSH 连接。
  2. 确认SSH服务监听的接口
    确保 SSH 服务正在监听 ens33 的地址。编辑SSH配置文件 /etc/ssh/sshd_config,找到 ListenAddress 行,确保它包含 ens33 的IP地址:
    ListenAddress 192.168.72.129
    
    如果没有这一行或者是注释掉了(被 # 符号注释),添加这一行并保存文件。然后重新启动 SSH 服务:
    sudo systemctl restart sshd
    
    这将确保 SSH 服务在 ens33 的地址上监听连接请求。
    如果你完成了这些步骤但仍然无法通过 ens33 的地址进行 SSH 连接,请检查你的网络配置、防火墙规则和 SSH 服务设置,确保一切都正确配置。如果还有问题,请告诉我具体的错误信息或表现,我会尽力帮助你解决。

2.注意静态地址要和动态的IP地址在同一个网段

比如动态的地址是 192.168.72.128
那么静态的也应该是192.168.72.xx

3. 如果做到以上内容之后, 还有问题

我假设你使用的nmcli管理

1.你点击虚拟机的右上角打开网络设置, 点击那个 仅主机模式的网卡, 也就是ens33

在这里插入图片描述

2.点击 wired settings选项, 进入管理页面

在这里插入图片描述

3.把这个网卡关闭(原来就是开着的), 然后再打开

在这里插入图片描述
你会发现, 你ssh连接有效了, 他从 time out 变成了 refused
并且主机也可以ping通虚拟机了

4.最后一步, 打开虚拟机的控制台

输入这个重启ssh服务

sudo systemctl restart sshd

然后你就奇迹般的发现, 可以连上了
这个问题真恶心啊, 恶心了我好几天
以前都没碰到过这种事, 可能是ubuntu版本太新了用了22.04的版本
以前用20.04就没什么问题, 改个配置文件就好了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值