cloud-init镜像无法root登录解决方法
目前云途主机的vps 已经全部 配置上cloud-init ,但在配置镜像过程中也遇到不少问题,主要还是不熟悉 cloud-init 的安全机制吧。今天就遇到了一个问题就是镜像制作完成后发现只能使用 public
key 秘钥登录,无法通过root 进行访问了。
后来经过研究发现 cloud-init 默认是禁止root 直接登录的,需要我们手动开启。当然这个问题之前也有出现过,之前写过一篇文章 通过修改 /etc/ssh/sshd_config 的配置文件也可以开启,但这个方法只能临时用,服务器一旦重启后 就会被 cloud-init 的默认配置给覆盖,导致每次都需要通过 ipmi 进行修改。
其实我们只需要将cloud-init 的默认配置修改下,就可以从根源上解决这个问题了,以后重启都不会在被限制 root 账户权限登录。
解决方法:
登录ssh 后进入输入以下命令 修改即可解决,目前云途仿牌vps的产品都配有 ipmi 远程管理,无法通过ssh 登录也可以很好的解决。如果没有的只能联系你的提供商帮你处理了。
进入ipmi 后根据以下命令进行修改;
vi /etc/cloud/cloud.cfg
找到 SSH_pwauth: 0 就是这里的原因,0表示禁止root 登录,将其改为 1 保存退出后即可;
users:
- defaults
disable_root:1
SSH_pwauth: 0
近期发现不少网上下载的 cloud-init 官方模板默认也是禁止 root 登录的,通过上面的方法更改配置好才能正常通过SSH 访问;