Невозможно подключиться к экземпляру EC2 Linux в AWS. Ошибка: не удалось проверить ключ хоста

Я создал инстанс EC2 Linux в AWS. Я использовал Ubuntu Server 20.04 LTS (HVM) AMI. После создания экземпляра мне был загружен файл пары ключей (.pem). Я дал ему имя EC2-Key-Pair. Затем я запустил экземпляр. Затем в своей системе Kali Linux я открываю терминал Linux, в котором сохранил файл .pem. После этого я использовал эту команду:

chmod 400 EC2-Key-Pair

После запуска этой команды я использовал эту команду:

ssh -i "EC2-Key-Pair.pem" [email protected]

Где ubuntu - имя пользователя, а

[email protected]

это публичный IPv4 DNS моего экземпляра. Но когда я выполнил эту команду, я получаю такую ​​ошибку:

Ошибка проверки ключа хоста.

Как исправить эту ошибку. Я выполнил эту команду с помощью sudo, а не с помощью sudo. Но оба пути не увенчались успехом. Даже я поискал ошибку в Интернете, я нашел решение, которое с помощью этой команды я могу исправить эту ошибку:

ssh-keygen -R Hostname

Где я использовал публичный IPv4 DNS моего экземпляра в качестве имени хоста:

ssh-keygen -R ec2-13-232-252-152.ap-south-1.compute.amazonaws.com

Но он показывает ошибку, которая:

Cannot stat /home/sanniddha/.ssh/known_hosts: No such file or directory

Ошибка после выполнения команды SSH от имени пользователя root

Ошибка после выполнения команды SSH

Ошибка после выполнения ssh-keygen -R Hostname


person Sanniddha Chakrabarti    schedule 14.03.2021    source источник


Ответы (2)


Проблема, возникающая из-за изменения отпечатка ключа ssh. В общем, это неплохо, и вы принимаете предупреждение, но все перепроверяете.

Что такое отпечаток ключа SSH и как он создается?

Что может вызвать изменение отпечатка ssh

В вашем случае это может быть связано с тем, что вы запустили экземпляр ранее и у которого есть аналогичное DNS-имя, которое было добавлено в ~/.ssh/known_hosts файл.

xx.xx.xx.xx ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBP2oAPXOCdClEnRzlXuxKtygT3AROcruefiPi6JPdzo+=

Вы можете очистить ~/.ssh/known_hosts, выполнив следующую команду

ssh-keygen -R ec2-13-232-252-152.ap-south-1.compute.amazonaws.com

Поскольку IP был переработан на стороне AWS для экземпляра, когда вы запускали новый экземпляр. Новый экземпляр ssh fingerprint отличается от того, который есть в вашем ~/.ssh/known_hosts файле, отсюда и предупреждение.

Как уже указывалось, вам необходимо открыть порт 22 для вашего IP-адреса, чтобы получить доступ к экземпляру.

Если возможно, используйте IP-адрес вместо DNS-имени для ssh. Плюс для ssh не нужно sudo

person samtoddler    schedule 14.03.2021
comment
Я использовал команду ssh-keygen -R ec2-13-232-252-152.ap-south-1.compute.amazonaws.com для очистки ~ / .ssh / known_hosts. Но он показывает ошибку: Cannot stat /home/sanniddha/.ssh/known_hosts: No such file or directory. Я запускаю команду SSH, также не используя sudo. Но та же проблема. И еще было 22 порта. В моем случае было 2 правила. первое правило уже было создано по умолчанию, где Тип был SSH, Протокол был TCP, Порт был 22, Источник был Пользовательским. Во-вторых, это я создал - person Sanniddha Chakrabarti; 14.03.2021
comment
@SanniddhaChakrabarti, можете ли вы вручную проверить, существует ли ~/.ssh/known_hosts? вы используете windows? . Вы можете принять предупреждение? - person samtoddler; 14.03.2021
comment
Я использую Kali Linux - person Sanniddha Chakrabarti; 14.03.2021
comment
@SanniddhaChakrabarti имел в виду вашу базовую ОС, из которой вы пытаетесь использовать ssh - person samtoddler; 14.03.2021
comment
В моей системе установлена ​​ОС Kali Linux. Я пытаюсь подключиться к экземпляру AWS из Linux. - person Sanniddha Chakrabarti; 14.03.2021
comment
Я выполнил шаги, упомянутые в этих документах. docs.aws.amazon.com/ quickstarts / latest / vmlaunch / - person Sanniddha Chakrabarti; 14.03.2021
comment
@SanniddhaChakrabarti, если файл не существует, он предложит вам его создать. Можете ли вы принять предупреждение для Host Key Verification и поделиться полными журналами через ssh -vvv - person samtoddler; 14.03.2021
comment
Да, я могу принять предупреждение о проверке ключа хоста. Но как я могу поделиться полными журналами? Какая команда показывает полные журналы? - person Sanniddha Chakrabarti; 14.03.2021
comment
@SanniddhaChakrabarti, и он все еще не работает после принятия предупреждения? команда ssh -vvv username@host-ip - person samtoddler; 14.03.2021
comment
Да еще ошибка после принятия предупреждения. - person Sanniddha Chakrabarti; 14.03.2021
comment
@SanniddhaChakrabarti запросил правку в документе, вы можете принять? - person samtoddler; 14.03.2021
comment
Хорошо, вы можете редактировать документ - person Sanniddha Chakrabarti; 14.03.2021
comment
@SanniddhaChakrabarti Я не могу редактировать - person samtoddler; 14.03.2021
comment
Теперь вы можете отредактировать его - person Sanniddha Chakrabarti; 14.03.2021
comment
@samotoddler Теперь работает. На самом деле я нажал Enter, когда меня попросили разрешить принять предупреждение. Я думал, что, как и другие команды, Enter будет означать да - person Sanniddha Chakrabarti; 14.03.2021
comment
@SanniddhaChakrabarti в качестве подсказки уже использует параметр yes/no. Если это сработает, можете ли вы отметить этот вопрос как решенный. Помогает сообществу - person samtoddler; 14.03.2021
comment
Хорошо, отмечу вопрос как решенный - person Sanniddha Chakrabarti; 14.03.2021
comment
@SanniddhaChakrabarti рад, что это сработало. ваше здоровье! - person samtoddler; 14.03.2021

Эта ошибка означает, что в вашем экземпляре что-то изменилось с момента последнего входа в систему, и, что наиболее правильно, вы создали экземпляр EC2 без фиксированного IP-адреса, назначенного этому экземпляру. поэтому, когда вы запустите этот экземпляр, он получит (динамический) IP-адрес и DNS-имя, которое будет основано на этом IP-адресе. Если вы выключите экземпляр и снова запустите его через несколько часов, он может получить новый IP-адрес и новое DNS-имя.

person Asri Badlah    schedule 14.03.2021
comment
Во время создания экземпляра на странице «Настроить группу безопасности» я установил для Типа значение «Пользовательский TCP», а для диапазона портов - 8888. В источнике выберите «Мой IP-адрес» в раскрывающемся списке. - person Sanniddha Chakrabarti; 14.03.2021
comment
Вам нужно открыть 22 порта, чтобы иметь возможность использовать ssh - person Asri Badlah; 14.03.2021
comment
также было 22 порта. В моем случае было 2 правила. первое правило уже было создано по умолчанию, где Тип был SSH, Протокол был TCP, Порт был 22, Источник был Пользовательским. Во-вторых, это я создал. - person Sanniddha Chakrabarti; 14.03.2021