极空间获取 SSH 权限
SSH 获取
一句话概括版本:利用 PE 系统挂载极空间硬件,给极空间塞一个新用户/公钥。
可以参考下面视频完成操作,视频中前半段着墨于 Ubuntu 镜像的制作[1],在制作完后就是关闭极空间,插 U 盘开机启动[2]。在修改文件方面,UP 主采用了修改 /etc/shadow
, /etc/passwd
文件的方法,手动添加了一个已知密码的新用户。除此之外,还可以采用对 root 用户添加公钥的方式 /root/.ssh/authorized_keys
,两种方法都可行,具体取决于个人喜好。
完成修改并重启后,不出意外,您就可以在终端下登录系统了。
SSH 维护
一般情形下,极空间系统更新时会重置关键目录,无论是后加的新用户还是公钥文件均会被清空,导致失去 SSH 访问权,这里提供一个相对讨巧的方案。
首先,将极空间应用目录软链接到你的存储区:
ln -s /zspace/applications/services /tmp/zfsv3/nvme12/XXXXXXXXXXX/data/应用程序/System-link/ |
- /zspace/applications/services:该目录为极空间应用所在目录;
- /tmp/zfsv3/nvme12/…:该目录为个人硬盘的实际挂载目录,可利用
df
命令查找挂载地址;
软链的目录在极空间 APP 查看会提示没有权限,但可以利用 SMB 查看到这些文件。接着我们只需要随便找一个能被极空间调用的 Shell 脚本,在脚本中追加一些私货,就能搭个顺风车利用极空间实现我们的目标啦,这里推荐修改 SMB 的启动脚本:
/zspace/applications/services/samba/start.sh |
在该文件中追加导入公钥的命令:
mkdir /root/.ssh |
最后在极空间设置 - 文件及共享服务 开关一次 Samba 服务就搞定啦~