Допустим, у меня есть 2 записи A, указывающие на мой домен, example.com и ssh.example.com.
В настоящее время я могу подключиться по SSH к своему серверу, используя любой из доменов, поскольку мой сервер OpenSSH прослушивает 0.0.0.0.
Возможно ли ограничить мой сервер OpenSSH прослушиванием только ssh.example.com?
Я использую Ubuntu Server 16.04
решение1
Можно ли ограничить мой сервер OpenSSH прослушиванием только ssh.example.com?
Насколько мне известно, нет.
Это происходит потому, что клиент преобразует ssh.example в IP-адрес перед подключением к серверу, и, в отличие от HTTP, протокол SSH не имеет заголовков, которые бы указывали имя хоста сервера.
Следовательно, сервер не имеет ни малейшего представления о том, какое имя сервера было предоставлено клиенту.
Ключ хоста сервера используется для связывания имени хоста сервера с его учетными данными, но некоторые клиенты SSH просто предлагают пользователю принять ключ или нет. Это не является (насколько мне известно) механизмом, с помощью которого сервер может принудительно определить, как он изначально идентифицируется для клиента.
На самом деле это не имеет ничего общего с прослушиванием на 0.0.0.0, если только у сервера нет двух IP-адресов и вы не настроили DNS для разрешения каждого имени хоста в отдельный IP-адрес (что, возможно, вам следует сделать, чтобы добиться желаемого).