我相信它应该工作的方式是首先启动 /usr/share/tomcat8/conf/tomcat-users.xml 中的 ec2-user 密码设置为实例 ID 的 sha512sum。根据您的评论 Tobie,这是一个好地方,但我认为 Matillion 文档在那里已经过时了,从那时起实例 ID 真的只有 10 个字符长!
我猜它使用实例元数据服务 v1 来做到这一点,所以如果 IMDS v1 不可用,它可能无法正确创建。
在任何情况下,只要您可以通过 SSH 连接到您的服务器并且管理员/用户配置处于内部模式(这是默认设置),您就可以像这样手动修复密码......
成为根sudo -i
像这样创建您选择的密码的 sha512sum。
echo -n "schepo" | sha512sum
确保使用 -n 否则它会添加换行符并导致哈希错误。我的出来像55aa...a1cf -
然后停止Tomcat,以便您可以更新密码
systemctl stop tomcat8
修复 /usr/share/tomcat8/conf/tomcat-users.xml 中的相关行或添加一个新行。您必须非常小心地保持 XML 有效。我的结局是这样的:
<user username="schepo" password="55aa00778ccb153bc05aa6a8d7ee7c00f008397c5c70ebc8134aa1ba6cf682ac3d35297cbe60b21c00129039e25608056fe4922ebe1f89c7e2c68cf7fbfba1cf" roles="Emerald,API,Admin"/>
然后重启Tomcat
systemctl restart tomcat8
重新启动通常需要大约 60 秒。之后,您应该能够使用新用户和/或密码通过 UI 登录。