1

После недавнего обновления на моем сервере Ubuntu 14.04 AWS EC2 мои удаленные машины больше не могли подключаться по ssh. Проверяя системный журнал на EC2 я нашел:

Jun 26 02:27:06 ec2: #############################################################
Jun 26 02:27:06 ec2: -----BEGIN SSH HOST KEY FINGERPRINTS-----
Jun 26 02:27:06 ec2: 256 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx  user@hostname.com (ECDSA)
Jun 26 02:27:06 ec2: -----END SSH HOST KEY FINGERPRINTS-----
Jun 26 02:27:06 ec2: #############################################################

Переключившись на удаленную машину, я покопался и нашел это сообщение об ошибке:

The authenticity of host ‘[hostname]:port ([###.###.###.###]:port)’ 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)? yes

выполнение 'ssh-keygen -l -f ~/.ssh/known_hosts' возвращает:

256 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx |1|aaaaaaaaaaaaaaaaaaaaaaaaaaa=|aaaaaaaaaaaaaaaaaaaaaaaaaaa= (ECDSA)
256 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx |1|bbbbbbbbbbbbbbbbbbbbbbbbbbb=|bbbbbbbbbbbbbbbbbbbbbbbbbbb= (ECDSA)

И, используя 'ssh-keygen -H -F', я обнаружил, что старый ключ использует [hostname]:443, а новый ключ использует [ipaddress]:443

У меня есть 3 вопроса:1. Почему подлинность рассматривалась, если отпечаток пальца и ключ совпали? У меня сложилось впечатление, что хеши были чисто информационными. 2. Что может привести к повторной генерации ключа с IP-адресом вместо имени хоста? 3. Есть ли способ заново сгенерировать ключи с именем хоста снова?

В краткосрочной перспективе я просто обновлю файл known_hosts обоими ключами, мне просто хотелось бы больше понять, почему / с кем это произошло, и мой поиск возвращает результаты, которые находятся на слишком низком уровне.

0