某天需要用HMC的root用户干点“坏事”,发现找了一圈都没有正确的HMC v8及v9的root用户破解教程,然后自己研究了一下,发现可以用root用户了。本文测试用的HMC以VMware workstation方式安装,分享的方法在HMC V8R860_SP3(buid 20180802.1)HMC V9R1M930(buid 1904220700)上测试通过。废话不多说,赶快上车吧!
1、 重启HMC,过了BIOS自检后狂按上下方向键,中断grub的自动引导,在这个界面停下来之后,按e键。
2、 把光标移到linux这一行的最后,输入 single ,然后按ctrl+x继续引导。
3、 等一会之后,会到输入root密码的界面,这里面输入 passw0rd ,回车。
4、 编辑sshd_config文件,将PermitRootLogin no这一行的no改成yes。
1 # sed -i ‘s/^PermitRootLogin no/PermitRootLogin yes/g’ /etc/ssh/sshd_config
如果你不想用sed来替换,用vi打开文件替换再保存也是可以的。
5、 将/home/hscroot/.ssh目录的属主临时改为hscroot,然后su - hscroot,注意这里su到hscroot用户可能需要一两分钟才能响应过来,是正常的。
# chown hscroot:hmc /home/hscroot/.ssh/ # su - hscroot
6、 生成hscroot用户的ssh RSA公钥,输入下面的命令,然后回车4次。
# chown hscroot:hmc /home/hscroot/.ssh/ # su - hscroot
执行完之后exit从hscroot用户退回到root用户。
7、 把/home/hscroot/.ssh目录的属主改回root,并将hscroot用户的公钥添加到root用户的authorized_keys2文件中,然后reboot重启。
# chown root:hmc /home/hscroot/.ssh # mkdir /root/.ssh # cat /home/hscroot/.ssh/id_rsa.pub > /root/.ssh/authorized_keys2 # reboot
8、 重启完成出现登录界面之后,在HMC设置里面放行SSH的22端口,开启远程命令执行,使用ssh客户端用hscroot登录到HMC,默认密码是abc123,然后在hscroot用户的shell里面ssh root@localhost,无需密码,直接就能进到root用户的shell了。需要注意的是不能直接用root来ssh,HMC限制了root用户直接ssh登录。
总结一下,HMC8/9已经不能按原来的方法来破解root用户了,类似复制su文件啊之类的都已经失效了。本文实现HMC root权限的方法其实很简单,允许root用户ssh,再把hscroot用户的ssh公钥加入到root用户的免密码登录文件里面,就变相实现了root用户登录,也就达到了我们的目的。