我有一百台 Linux 设备(Raspberry Pi)需要配置。这包括生成新的用户名/密码对并存储它们以备将来使用。一旦它们部署到现场,我就需要通过 SSH 和 VNC 访问这些设备。
问题
什么是安全且可自动化的方法来:
- 生成新的随机用户名/密码
- 保存以供将来使用
主意
我可以使用 1Password 或其他密码管理器手动生成唯一的密码和用户名。
唯一的问题是该解决方案不能很好地与手动步骤兼容。
还有其他想法吗?
答案1
您认为为什么需要唯一的用户和密码?
当您只需要帐户进行管理访问并且系统预计具有可靠的网络连接时:
根本不要部署任何本地用户。配置设备以使用中央身份存储(例如 LDAP、Active Directory 等)。
当您还使用 AuthorizedKeysCommand
从类似的中心位置查找受信任的公钥来配置 opensshd 时,您甚至不必配置~/.ssh/authorized_keys
文件,并且可以依靠 pam_mkhomedir 在首次登录时创建主目录。
确保从通用系统映像构建的系统在首次启动时获得独特属性(如本地用户、组(以及许多其他内容))的一种相当典型的方法是使用cloudinit用户数据。