我在 Hetzner 上有一个小型云服务器,我每天凌晨 3 点从我的家庭服务器启动它(使用 Hetzner API),然后通过 SSH 登录,做一些工作,然后关闭它(这都是自动过程)
几个月来一切都很顺利,我没有动过我的家庭服务器或云服务器,但今天我收到了一封警告电子邮件
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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 ECDSA key sent by the remote host is
这非常可疑,因为我的服务器没有任何变化,所以我登录并检查了 /var/log/auth.log:
Dec 10 03:02:19 htznr useradd[1007]: new group: name=ubuntu, GID=1001
Dec 10 03:02:19 htznr useradd[1007]: new user: name=ubuntu, UID=1001, GID=1001, home=/home/ubuntu, shell=/bin/bash
Dec 10 03:02:19 htznr useradd[1007]: add 'ubuntu' to group 'adm'
Dec 10 03:02:19 htznr useradd[1007]: add 'ubuntu' to group 'dialout'
Dec 10 03:02:19 htznr useradd[1007]: add 'ubuntu' to group 'cdrom'
Dec 10 03:02:19 htznr useradd[1007]: add 'ubuntu' to group 'floppy'
Dec 10 03:02:19 htznr useradd[1007]: add 'ubuntu' to group 'sudo'
Dec 10 03:02:19 htznr useradd[1007]: add 'ubuntu' to group 'audio'
Dec 10 03:02:19 htznr useradd[1007]: add 'ubuntu' to group 'dip'
Dec 10 03:02:19 htznr useradd[1007]: add 'ubuntu' to group 'video'
Dec 10 03:02:19 htznr useradd[1007]: add 'ubuntu' to group 'plugdev'
Dec 10 03:02:19 htznr useradd[1007]: add 'ubuntu' to group 'lxd'
Dec 10 03:02:19 htznr useradd[1007]: add 'ubuntu' to group 'netdev'
Dec 10 03:02:19 htznr useradd[1007]: add 'ubuntu' to shadow group 'adm'
Dec 10 03:02:19 htznr useradd[1007]: add 'ubuntu' to shadow group 'dialout'
Dec 10 03:02:19 htznr useradd[1007]: add 'ubuntu' to shadow group 'cdrom'
Dec 10 03:02:19 htznr useradd[1007]: add 'ubuntu' to shadow group 'floppy'
Dec 10 03:02:19 htznr useradd[1007]: add 'ubuntu' to shadow group 'sudo'
Dec 10 03:02:19 htznr useradd[1007]: add 'ubuntu' to shadow group 'audio'
Dec 10 03:02:19 htznr useradd[1007]: add 'ubuntu' to shadow group 'dip'
Dec 10 03:02:19 htznr useradd[1007]: add 'ubuntu' to shadow group 'video'
Dec 10 03:02:19 htznr useradd[1007]: add 'ubuntu' to shadow group 'plugdev'
Dec 10 03:02:19 htznr useradd[1007]: add 'ubuntu' to shadow group 'lxd'
Dec 10 03:02:19 htznr useradd[1007]: add 'ubuntu' to shadow group 'netdev'
Dec 10 03:02:19 htznr passwd[1014]: password for 'ubuntu' changed by 'root'
Dec 10 03:02:19 htznr systemd-logind[1057]: New seat seat0.
Dec 10 03:02:19 htznr systemd-logind[1057]: Watching system buttons on /dev/input/event0 (Power Button)
Dec 10 03:02:19 htznr systemd-logind[1057]: Watching system buttons on /dev/input/event1 (AT Translated Set 2 keyboard)
Dec 10 03:02:19 htznr sshd[1094]: Server listening on 0.0.0.0 port 222.
Dec 10 03:02:19 htznr sshd[1094]: Server listening on :: port 222.
03:02:19 是机器启动的时间。如您所见,已创建用户“ubuntu”及其密码。
我还意识到 /etc/ssh/ 中的所有密钥都已更改:
-rw------- 1 root root 672 Dec 10 03:02 ssh_host_dsa_key
-rw-r--r-- 1 root root 598 Dec 10 03:02 ssh_host_dsa_key.pub
-rw------- 1 root root 227 Dec 10 03:02 ssh_host_ecdsa_key
-rw-r--r-- 1 root root 170 Dec 10 03:02 ssh_host_ecdsa_key.pub
-rw------- 1 root root 399 Dec 10 03:02 ssh_host_ed25519_key
-rw-r--r-- 1 root root 90 Dec 10 03:02 ssh_host_ed25519_key.pub
-rw------- 1 root root 1.7K Dec 10 03:02 ssh_host_rsa_key
-rw-r--r-- 1 root root 390 Dec 10 03:02 ssh_host_rsa_key.pub
这可能是什么原因?我使用 Hetzner 的 IP 地址登录服务器。
我很担心,因为我知道很多机器人尝试使用常见用户名登录,如“centos”、“ubuntu”、“fedora”等。
我使用 Ubuntu 并启用了无人值守升级。
这是 /etc/shadow 中的新条目
ubuntu:!:18971:0:99999:7:::
答案1
正如评论所暗示的,答案是cloud-init
包。它负责重新初始化虚拟机映像,初始化步骤之一是重新生成主机的 ssh 密钥。
它根据报告的实例 ID 变化对“每个实例”执行一次(“实例 ID”高度依赖于云提供商,甚至依赖于裸机“NoCloud”提供商的 ID)。