Я не думаю, что вы пытаетесь сделать это возможно.
Насколько я знаю, SSH не имеет понятия имен хостов на уровне протокола, и даже если это так, вы говорите о подключении к разным хостам на основе имени хоста, которое вы используете для получения IP-адреса для подключения, когда Полученный IP-адрес одинаков и может быть получен без какого-либо участия даже серверов имен example1.com и example2.com, так что нечего подключать.
В HTTP/1.1 каждый запрос содержит заголовок Host:
значением которого является имя домена, используемое в веб-браузере (или другом клиенте). Эти данные уровня протокола позволяют веб-серверу обрабатывать запросы для разных доменов, даже если все они сопоставлены с одним IP-адресом. Обратите внимание, что виртуальный хостинг на основе имен был одним из основных улучшений в HTTP/1.1 по сравнению с оригинальной версией протокола 1.0.
Может быть возможно сделать что-то вроде того, что вы ищете, используя DNS-записи SRV
, но я не пробовал, и программная поддержка SRV-записей в лучшем случае ненадежна. Такая настройка, вероятно, будет сильно зависеть от клиента, которого вы используете для подключения, если его вообще можно заставить работать.
Тем не менее, вы можете сделать что-то похожее на клиентскую сторону, используя ~/.ssh/config (при условии, что OpenSSH; другое программное обеспечение должно делать что-то подобное через другие механизмы) с псевдонимами хоста и спецификаторами портов. Затем вы можете запустить какой-нибудь прокси (скорее всего, NAT или PAT) перед обоими хостами и прямыми соединениями на основе номера входящего порта. С достаточно сложным сплиттером перед хостами, вы можете сделать что-то со стуком порта.