Избегайте проверки подлинности ssh для локальных адресов

Когда в одной локальной сети несколько ssh серверов используют DHCP, их IP адрес может измениться.Каждый раз, когда у них появляется новый адрес (то есть: адрес, которого у них никогда не было в этой локальной сети), появляется следующее сообщение:

The authenticity of host '192.168.1.x (192.168.1.x)' can't be established.
ECDSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)?

Если я скажу да , то отпечаток пальца будет навсегда , относящийся к этому адресу. Но когда другой ssh сервер будет 192.168.1.x, у него будет другой отпечаток, и появится сильное предупреждение.

И сервер (ы), и клиент работают под управлением Ubuntu 14.04 с последними обновлениями. Я доверяю серверу, потому что у меня есть физический доступ к нему, и даже когда его адрес изменился, я знаю его подлинность.

1) Возможно ли, что один и тот же сервер периодически меняет свой отпечаток ключа?

2) Есть ли способ подавить проверку отпечатка пальца только для локальных адресов, то есть в диапазоне 192.168.0. 1.1-254?

0
20.09.2016, 00:09
2 ответа

1) Возможно ли, что один и тот же сервер периодически меняет свой отпечаток ключа?

Да, серверные ключи теоретически могут быть могут быть изменены администратором этого сервера в любое время. Однако это разрушает устоявшееся доверие, поэтому на практике этого не следует делать без причины.

Это может произойти, если сервер перестраивается (новое оборудование без сохранения ключей ssh-сервера, или сценарий взрыва с орбиты). Это также может произойти, если есть несколько серверов с разными ключами, которые используют одно и то же имя хоста (например, за балансировщиком нагрузки).

Кроме того, ssh-серверы обычно имеют несколько ключей хоста разных типов (rsa, dsa, ecdsa, ed25519 ...), поэтому вы можете увидеть другой отпечаток ключа при использовании одного клиента по сравнению с другим клиентом, в зависимости от того, какой обмен ключами согласован. Однако любой данный клиент всегда должен получать один и тот же ключ от сервера, если ни конфигурация клиента, ни сервера не изменяется.

2) Есть ли способ подавить проверку отпечатков пальцев только для локальных адресов, то есть в диапазоне 192.168.1.1-254

Да. На странице руководства ssh_config параметры CheckHostIP и StrictHostKeyChecking влияют на это поведение. Чтобы подавить эти проверки для всех имен хостов, начинающихся с "192.168.1." за которым следуют от одного до трех символов, используйте

Host 192.168.1.?,192.168.1.??,192.168.1.???
    CheckHostIP no
    StrictHostKeyChecking no

. Обратите внимание, что шаблоны , поддерживаемые в предложении Host , не являются полными регулярными выражениями или командами оболочки, а соответствуют строке только с одним символом ? и жадными подстановочными знаками * . Следовательно, если кому-то удалось зарегистрировать 1.com , то этот шаблон также будет соответствовать удаленному серверу 192.168.1.com .

Использование жадного глобуса упростит раздел конфигурации Host 192.168.1. * , но также позволит сопоставить более широкий диапазон смешанных буквенно-цифровых имен, таких как 192.168.1. evil.qwerty.org . Вероятность непреднамеренного подключения (без проверки ключа хоста) к такому серверу очень мала; однако хорошо знать, что это просто строковый глобус, а не что-то, что обязательно будет анализироваться как адрес подсети только потому, что он выглядит как таковой.

0
28.01.2020, 02:34

~ /.ssh / config:

host 192.168.1.*
    CheckHostIP no
    StrictHostKeyChecking no
2
28.01.2020, 02:34

Теги

Похожие вопросы