
Я создал три виртуальные машины (Ubuntu server 22.04 LTS), одну для управления и две ноды. Управление работает нормально, я могу получить к нему доступ, однако при попытке доступа к node1 я получаю эту ошибку:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the (omissis) key sent by the remote host is
(omissis)
Please contact your system administrator.
Add correct host key in /home/(omissis)/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/(omissis)/.ssh/known_hosts:11
remove with:
ssh-keygen -f "/home/(omissis)/.ssh/known_hosts" -R "[(vm IP, omissis)]:3022"
Host key for [(vm IP, omissis)]:3022 has changed and you have requested strict checking.
Host key verification failed.
Я полагаю, что это происходит из-за того, что виртуальные машины разделяют IP-адрес, однако known_hosts
файл в ~/.ssh
уже сохранил в себе контрольный. Я хотел бы получить доступ к ним обоим (сколько угодно на самом деле) одновременно. Как мне это сделать? Как мне принудительно добавить другой известный хост в список?
заранее спасибо
решение1
Аналогичная проблемаэтот.
Есть два возможных решения.
- Копирование отпечатков пальцев сервера (не рекомендуется из-за проблем безопасности)
Если вы сопоставите файлы, содержащие отпечатки пальцев( /etc/ssh/ssh_host*
), то никаких ошибок из-за несовпадающих отпечатков пальцев выдано не будет.
- Создание нескольких
known_hosts
файлов на стороне клиента
Добавляя конфигурации хоста в ~/.ssh/config
, можно использовать разные отпечатки пальцев, указывающие на одну и ту же машину. Для получения дополнительной информации см.man ssh_config
Пример (по ссылке):
Host windows.dualbootbox
Hostname 192.168.10.20
UserKnownHostsFile ~/.ssh/windows.dualbootbox.known_hosts
Host ubuntu.dualbootbox
Hostname 192.168.10.20
UserKnownHostsFile ~/.ssh/ubuntu.dualbootbox.known_hosts
решение2
Итак, я решил проблему в графическом интерфейсе. Сначала на VirtualBox зайдите file
иHost Network Manager
Следующий,create
Скоро вы станете виртуальным узлом, settings
а затемnetwork
Выберите NAT
и затем Port Forwarding Rules
. Создайте новое правило переадресации портов с помощью маленькой +
кнопки в правом верхнем углу.
Чтобы
Name: ssh
Protocol: TCP
Host Port: 3022
Guest Port: 22
Нажмите ok
и перейдите к Adapter 2
. Включите его и выберитеHost-only Adapter
Включить Adapter 3
и выбратьBridged Adapter
Теперь вы готовы к работе, повторите каждый шаг (кроме первого) для каждого узла вашего кластера. Если вы сделаете это, у вас не будет конфликтов IP.