Можно ли разрешить использование нескольких ключей хоста SSH для одного IP-адреса?

Разумнее было бы сделать

ls /bin
ls $_

или

set ls /bin
$*
$*

или

c='ls /bin'
$c
$c

Оговорки: стоит помнить, что каждый из этих вариантов имеет свои подводные камни. Решение $_ фиксирует только последний аргумент: так, ls foo bar оставит в $_ только bar. Тот, который использует set, переопределит аргументы ($1, $2 и т.д.). Все эти команды будут работать, но если обобщить их на более сложные команды (где важна экранировка и пробельные символы), то можно столкнуться с некоторыми трудностями. Например: ls 'foo bar' (где единственный аргумент имени пути foo bar содержит два или более пробелов, или любые другие пробельные символы) не будет вести себя правильно ни в одном из этих примеров. Чтобы обойти эти случаи, может потребоваться правильная экранировка (возможно, в сочетании с командой eval) или использование "$@" вместо $*.

0
08.12.2018, 14:28
1 ответ

Да, это возможно.

sshd(8)(из OpenSSH )указывает формат known_hostфайлов (в секцииSSH_KNOWN_HOSTS FILE FORMAT):

When performing host authentication, authentication is accepted if any matching line has the proper key; […]

It is permissible (but not recommended) to have several lines or different host keys for the same names. This will inevitably happen when short forms of host names from different domains are put in the file. It is possible that the files contain conflicting information; authentication is accepted if valid information can be found from either file.

Таким образом, вы можете просто добавить ключи хоста обеих головок HA в свой ~/.ssh/known_hostsили/etc/ssh/ssh_known_hosts:

203.0.113.50 ssh-rsa AAAAB3NzaC1yc2…6Yh5sHpkyIZvXLB
203.0.113.50 ssh-rsa AAAAB3NzaC1yc2…R0RNVnMB6C4plFr

и sshподключатся к обоим без нареканий.

9
28.01.2020, 02:31

Теги

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