Вы можете иметь машинаА чтобы открыть SSH-туннель для машинаБ, с опцией удаленной переадресации, которая позволит вам подключиться по SSH к машинаА от машинаБ.
Если у вас есть root-доступ на машинаБ, затем установите Порты шлюза вариант конфигурации для да в /etc/ssh/sshd_config, затем введите эту команду на машинаА:
ssh -N -R 0.0.0.0:2222:127.0.0.1:22 the_public_ip_of_machine_B
Это откроет порт 2222 на машинаБ, и перенаправить любой трафик на этот порт на себя, на порт 22. Обратите внимание, что это будет прослушивать все интерфейсы, включая общедоступный, поэтому вы можете захотеть установить брандмауэр с номером порта 2222 (но, вероятно, у вас есть брандмауэр на машинаБ тем не мение). Пока этот туннель активен, вы можете использовать SSH для машинаБ на порт 2222, и это приведет вас к машинаА. С машинаБ и машинаC находятся в одной подсети, вы можете войти машинаА от машинаC в один шаг.
Если у вас нет root-доступа на машинаБ, то процесс такой же, за исключением адреса прослушивания. Если Порты шлюза установлен на нет (по умолчанию), то первый аргумент (0.0.0.0) будет просто проигнорирован, а адрес прослушивания будет привязан к 127.0.0.1. В этом случае вы все равно можете использовать команду сверху, и форвардинг будет работать так же, но открытый порт будет доступен не откуда-либо, а из машинаБ. Таким образом, вы должны SSH в машинаБ, затем SSH к локальный хост, порт 2222, который приведет вас к машинаА.
Однако вы можете рассмотреть возможность использования чего-то более надежного, например VPN.