
В ssh
каталоге конфигурации файл known_hosts
хранит для каждого сервера пару (IP, отпечаток пальца). Сервер считается доверенным, только если он совпадаетобаэлементы одной из пар в known_hosts
.
Мне нужно подключиться к Nitrux 1.1.4
серверу Linux (на основе ядра 4.14.15-041415-generic
), который по ряду причин вынужден использовать DHCP. Его IP может меняться даже несколько раз в день. Каждый раз я должен принимать новую пару (IP, отпечаток пальца), флудя known_hosts
. Это решение также довольно бесполезно.
Можно ли доверять этому хосту, учитывая только его отпечаток, независимо от его IP-адреса?
Как впредыдущий вопрос, Я использую эти клиенты: OpenSSH_7.8p1, OpenSSL 1.1.1a-freebsd 20 Nov 2018
и OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017
.
решение1
Сервер считается доверенным, если он соответствует шаблону до хэша отпечатка пальца. ssh
Просто добавляет и имя хоста, и IP по умолчанию, что требует соответствия им обоим. Ничто не удерживает вас от редактирования known_hosts вручную и замены IP маской (рекомендуется) или удаления IP вообще (менее безопасный способ).
Таким образом, запись в known_hosts будет выглядеть так:
hostname,192.168.1.* ssh-rsa AAAAhash==
another-hostname ssh-rsa AAAAhash==
Оба варианта вам подойдут.
Более подробную информацию вы можете найти вчеловек sshd(раздел: ФОРМАТ ФАЙЛА SSH_KNOWN_HOSTS)