Когда я обновил свой менеджер виртуальных машин KVM до последней версии, каждый раз, когда я пытаюсь удаленно подключиться к моим машинам, я получал вопрос:
The authenticity of host 'kvm.local (ip address)' can't be established.
ECDSA key fingerprint is b5:fa:0a:d0:39:af:0a:60:fa:04:87:6c:31:1d:13:15.
Are you sure you want to continue connecting (yes/no)?
И при изменении любой настройки на ВМ я был обязан ввести yes, а затем ввести пароль root в другом диалоговом окне
, используя ubuntu 12.04 64bit
Я могу придумать несколько способов, как это сообщение можно создавать неоднократно:
Вы отключили опцию StrictHostKeyChecking в ssh на клиенте, и гость был переустановлен или переустановлен переустановил свой ssh сервер. Когда пакет сервера ssh установлен, он генерирует новый отпечаток и устанавливает его в / etc / ssh. Обратите внимание, что в более новых версиях используется ssh хэш имен / адресов хостов.
Если вы подключались к новому гостю (с новым IP или именем) или старому гостю, но с новым IP или именем. Пока Kamil использует мостовую сеть, эта проблема может возникать, когда используется сетевое соединение по умолчанию, поскольку команда ssh для различных гостей направляется на хост-компьютер. То же самое верно для гостей за брандмауэром NAT, где источник ssh находится на другой стороне брандмауэра. Решение состоит в том, чтобы использовать функцию hostkeyalias файлов конфигурации ssh клиента.
Что-то удаляет или модифицирует ваш файл ~ / .ssh / known_hosts в учетной записи, с которой вы запускаете ssh.
Таким образом, либо меняются гостевые отпечатки, либо меняется отображение guest-> name-> IP-адрес, либо учетная запись, от которой вы пользуетесь ssh'ом, забывает свои отпечатки пальцев.
Если вы подключаетесь к одному и тому же гостю дважды с интервалом в несколько секунд, и подлинность хоста 'samename.local (тот же IP-адрес)' установить невозможно. Отпечаток ключа ECDSA: xx: yy: ... сообщение меняет отпечаток пальца, и вы можете подтвердить, что вы достигли того же гостя, проверив его содержимое (не по MAC-адресу), вы знаете, что гость меняет свой отпечаток пальца. Вы сможете убедиться в этом, проверив время ls -l
в каталоге guest / etc / ssh. Если бы вы перезагружались между ними, и если бы это было с компакт-диска (это не так) или установочного USB-ключа или установочного образа USB-ключа, это было бы понятно. Вы также не упоминаете о необходимости перезагрузки этих гостей, чтобы получить ошибку. Так что эта возможность кажется невероятной.
Если вы видите, что ввод одной и той же команды ssh возвращает вас к новому гостю, изучая содержимое гостя, о котором вы знаете, что у вас есть проблема в отображении имени-> ip-> guest. Здесь многое может пойти не так.
Если вы снова и снова видите один и тот же фактический отпечаток пальца и видите, что IP-адрес и имя гостя не изменились, у вас есть проблема с вашим клиентским компьютером ssh, удаляющим все или часть файл .ssh / known_host. Вы можете подтвердить это временем ls -l ~/.ssh/known_host
. Это кажется невероятным для меня.
Если вы не отключили StrictHostKeyChecking на клиенте ssh, это также может помочь сузить это. Эта опция, обычно используемая по умолчанию, приведет к тому, что ssh не сможет подключиться, если перейдет к тому же гостевому имени гостя и изменился отпечаток. Я вижу, что это не та проблема, которую вы испытываете, что сбивает с толку, если вы подключаетесь к одному и тому же месту снова и снова.
Время, когда я вижу это, когда я захожу в мои гости, и им назначаются новые IP-адреса, или когда я захожу в них из другой учетной записи. (У каждой учетной записи есть свой собственный файл known_hosts - они не для всего компьютера).
Моя проблема решена. Но я не успел об этом упомянуть. После удаления моего ~/.ssh/known_hosts
из клиента и повторной инициализации соединения он запросил у меня отпечаток пальца только один раз.
Затем, после перезагрузки клиента, он никогда больше не спрашивал меня об отпечатке пальца. Спасибо за подсказку @Джон С. Грубер