Образ облака OpenStack EC2 Ubuntu - ключи хоста SSH были изменены после перезагрузки аварийной ситуации
Недавно один из наших серверов завис из-за сбоя IPMI BMC. Это вычислительный хост CentOS 6.3 OpenStack, обслуживающий виртуальные машины KVM с бэкэндом qcow2.
Была запущена виртуальная машина, основанная на EC2, которую мог создать образ Ubintu (точный-сервер-cloudimg-amd64-disk1.img).
После перезагрузки системы я обнаружил странную вещь: ключи хоста ssh на ВМ были воссозданы (13:25 - время перезагрузки):
root@weather:~# ll /etc/ssh/*key
-rw------- 1 root root 668 Nov 21 13:25 /etc/ssh/ssh_host_dsa_key
-rw------- 1 root root 227 Nov 21 13:25 /etc/ssh/ssh_host_ecdsa_key
-rw------- 1 root root 1679 Nov 21 13:25 /etc/ssh/ssh_host_rsa_key
Я также обнаружил, что некоторые потерянные i-узлы были удалены в процессе восстановления FS:
Nov 21 13:25:23 weather kernel: [ 0.901159] EXT4-fs (vda1): INFO: recovery required on readonly filesystem
Nov 21 13:25:23 weather kernel: [ 0.902688] EXT4-fs (vda1): write access will be enabled during recovery
Nov 21 13:25:23 weather kernel: [ 1.930773] EXT4-fs (vda1): ext4_orphan_cleanup: deleting unreferenced inode 1286
......
Nov 21 13:25:23 weather kernel: [ 1.940810] EXT4-fs (vda1): ext4_orphan_cleanup: deleting unreferenced inode 53755
Nov 21 13:25:23 weather kernel: [ 1.940815] EXT4-fs (vda1): ext4_orphan_cleanup: deleting unreferenced inode 53754
Nov 21 13:25:23 weather kernel: [ 1.940819] EXT4-fs (vda1): 8 orphan inodes deleted
Мой вопрос: почему ключи SSH могут быть воссозданы? Может ли это быть результатом потери данных в файловой системе? И как предотвратить это в будущем?
Режим кеширования qcow2 настроен на сквозную запись в конфигурациях виртуальной машины libvirt. Файловая система хоста - ZFS (zfsonlinux), размещенная на аппаратном RAID-контроллере с BBU.
Если это является результатом несогласованности файловой системы при перезагрузке - я очень озадачен, так как файлы ключей ssh не изменены, и все соответствующие данные, как ожидается, будут синхронизированы со стабильным носителем.
1 ответ
Никто не вмешался, чтобы сказать что-нибудь умное, поэтому я констатирую очевидное.
Да, это может быть результатом потери данных в файловой системе. Я не могу говорить за Ubuntu, но сценарии запуска sshd в CentOS (RH-стиле) обеспечивают автоматическое создание ключей, если они отсутствуют, и я предполагаю, что Ubuntu делает нечто подобное.
Если файловая система вашей виртуальной машины была повреждена в результате сбоя основного хоста, и это повреждение произошло из-за того, что системные ключи ssh забрали системные ключи, тогда я ожидал бы, что они будут автоматически восстановлены и, следовательно, изменены.
Это то, что случилось? К сожалению, на данный момент, я не думаю, что кто-то может сказать.
Если ваша система была tripwire
d, тогда у вас будет какой-то базовый аудит FS, с которым вы сможете сравнить текущее состояние, чтобы принять более информированное решение о том, что именно произошло с образом виртуальной машины. Таким образом, вам придется принять бизнес-решение относительно того, достаточно ли чувствителен этот компьютер, чтобы оправдать полную чистую перестройку, или вы просто пожмете плечами и примете это за одну из этих вещей.