Назад | Перейти на главную страницу

Как ssh в систему, подключенную к тому же сетевому коммутатору?

У меня есть несколько систем, подключенных к одному сетевому коммутатору. Все они работают под управлением Linux / Ubuntu 18.

Я хочу получить удаленный доступ с одной машины к другой через ssh.

То есть, если я работаю на одной из машин, я хочу получить удаленный доступ к другой через ssh.

Как я могу это сделать?

Предположим, я не знаю IP-адресов ни одной из машин и просто имею доступ к одной из них. Мне потребуются шаги для получения IP-адресов другой машины. Мне разрешено управлять ТОЛЬКО одной машиной на том же коммутаторе, к которому у меня есть доступ

Например. У меня есть машина A, B, C, D, подключенная к коммутатору S. У меня есть доступ только к A и ни к чему другому.

Я наткнулся на несколько ответов SO, которые советовали использовать arp -a, но никогда не выходили за рамки этого.

Какие у меня есть варианты сделать что-то подобное?

Предполагая, что это простой переключатель, и ни одна из машин не имеет firewalld или 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.