如何通过 ssh 进入连接到同一网络交换机的系统?

如何通过 ssh 进入连接到同一网络交换机的系统?

我有几个系统连接到同一个网络交换机。它们都运行 Linux / Ubuntu 18。

我想通过 ssh 远程访问一台机器到另一台机器。

就是说我在其中一个机器上操作,想通过ssh远程访问另一台机器。

我该怎么办?

假设我不知道任何机器的 IP 地址,只能访问其中一台。我需要按照步骤获取另一台机器的 IP 地址。我只能在我可以访问的同一台交换机上操作一台机器

例如。我将机器 A、B、C、D 连接到交换机 S。我只能访问 A,而不能访问其他任何设备。

我碰到过一些 SO 答案,建议使用 arp -a,但从未超越这一点。

我有什么选择可以做这样的事情?

答案1

假设它是一个简单的交换机,并且没有任何机器具有防火墙或 iptabables 阻止所有入站流量,我将使用 ping、tcpping、nmap 甚至只是 ssh,并使用 bash 脚本来迭代网络中可用的 ip 地址。

假设您知道网络掩码,您可以确定网络的 IP 范围并从那里开始工作。

或者你可以使用如下方法:

#!/bin/bash

for destination in `arp -a | tail +5 | awk '{print $2}'`
do
    nslookup $destination 1>/tmp/arp$$ 2>/dev/null
    if [ `wc -l /tmp/arp$$ | awk '{print $1}'` -ge 4 ]; then
        tail -2 /tmp/arp$$ | grep Address | awk '{print $2}'
    fi
done

rm /tmp/arp$$

但前提是你知道它们都在同一网络范围内有静态 IP 地址或在同一范围内有动态 dhcp 地址。如果不是,唯一的办法就是查看交换机并在那里转储 arp 表。

相关内容