我想试试CoreOS买一个新的vServer。到目前为止,我喜欢它,但我犯了一个致命的错误:我创建它的一个cloudinit文件,而不是新的点火方法,现在在每次更新重新启动它重置我的密码和ssh设置.
我懒得创建一个“完美”的cloudinit文件,所以我假设以后我可以更改所有设置,因为我以前每次安装操作系统时都会更改所有设置。
因此,在每个更新时间窗口之后,我必须再次更改我的密码,并且我需要重新启动sshd服务,因为端口再次设置为22,即使配置仍然定义我更改的端口号。
之后,我找不到任何建议来更改cloudinit文件,甚至无法在重新启动时禁用重置。我看到了只执行一次的点火文件的优点,但是我想避免重新安装我的整个vServer,而只是通过一个点火文件重新安装CoreOS。
有什么想法或暗示吗?)
提前感谢
发布于 2019-02-16 20:47:57
迈克尔把我引向了正确的方向-谢谢!不知道是否有可能给系统提供一个新的云配置,并认为我必须改变一些信任在不同的地方在系统的任何地方.
另一个问题似乎是,CoreOS使用的云init与云init文档中显示的略有不同,因此您可以找到一些不适用于CoreOS的不同解决方案。
我找到了文档中的这一页,我发现我正确地编辑了sshd_config,但是系统在重新启动后使用了sshd.socket,所以我不得不一直(重新)启动sshd .
sudo systemctl mask --now sshd.socket
sudo systemctl enable sshd.service # VERY IMPORTANT!
sudo systemctl restart sshd.service非常重要:你可以把自己锁在系统之外!你可能想要检查你是否可以通过你的提供者控制面板(救我)访问登录外壳。文档中说您必须执行上面的命令1和3,但是sshd服务在重新启动之后就被禁用了,所以您必须在重新启动之前启用它!
作为另一种选择,您可能希望坚持使用sshd.socket并在那里更改端口。它也被记录在上面的链接中。
后重新设置密码
我可以创建一个更好的云-init.yaml并重新应用它。只是更改了密码,并为现有用户添加了ssh-键,并调用
sudo coreos-cloudinit --validate --from-file=/path/to/cloud-init.yaml查看文件。删除--validate标志将应用云-init.yaml并更改密码(很好测试它),但是重新启动仍然会重置它!正如我所发现的,coreos-cloudinit命令不打算由任何用户手动运行。要更新重新启动时的重新配置,我们必须重写另一个文件:
sudo cp /path/to/cloud-init.yaml /var/lib/coreos-install/user_data之后,在重新启动后,我的密码是正确的。
https://serverfault.com/questions/954290
复制相似问题