前言


本方法来自群友分享,旨在更好的使用我们自己的机器,获取 SSH 权限后也务必注意不要随意动底层文件以防机器出问题。

适用范围


本教程适用于所有支持 docker 的极空间机型。

进入极空间自带的 portainer


Portainer 是什么?


portainer 是一个很强大的 docker 管理工具,极空间客户端中给我们直接使用的 docker 管理器就是基于 portainer 进行魔改的。

Portainer 与极空间提供的有啥不一样


portainer 支持直接通过 docker-compose 的方式进行容器部署,另外 portainer 可以在创建容器的时候挂载任意的目录(这个也是我们获取 ssh 权限的一个关键点)。

如何进入内置的 Portainer

首先打开极空间客户端 → 打开远程访问硬硬 → 添加新的链接 →

备注随意,链接填入 127.0.0.1:9123 (不行就换成 0.0.0.0:9123) 内容,点击保存 →

然后打开刚添加的链接卡片

就可以看到我们直接就打开了内置的 portainer 登录页面,用户名填入 admin,密码则是我们极空间管理员账号名称 md5 加密后的值(32位小写)

然后将转换后的密码和 admin 填入远程访问的 portainer 页面,点击 login。

2024/08/22/1724299513120.webp

然后点击左侧的 Registries 菜单,再点击右侧 Add Registry 添加一个国内镜像源,不然默认的镜像源拉取速度实在太慢了。

选择 custom registry,name 随便填入,url 比如南京大学站就填入以下链接,再点击 Add registry 保存。

docker.nju.edu.cn

2024/08/22/1724299524476.webp

再点击左侧的 container 页签,进入容器管理页面,点击 Add container

2024/08/22/1724299532076.webp

因为比较小,加上组件也比较全,获取 ssh 权限会比较方便,这里就使用 alist 来演示如何获取 ssh 权限,name 填入 AlistSSH(和其他容器不重复就行,可自行更改),registry 选择刚创建的国内源,image 填入 xhofe/alist

2024/08/22/1724299543539.webp

填完上面内容把页面拉到最底下,选择 volumes,点击 map additional volume 添加一个目录映射,container 后面先选择后面的 bind,然后填入 /sshhost 后面填入 /etc 注意下后面是不是 writable,其他设置都不用动,直接点击 Deploy the contaier

2024/08/22/1724299565772.webp

耐心等待镜像拉取和容器部署,成功后会跳转到容器管理页面,找到刚才部署的 AlistSSH,点击容器后面的 >_ 标志。

2024/08/22/1724299574952.webp

点击 connect 进入容器终端。

2024/08/22/1724299582544.webp

进入容器终端后输入一下命令进入挂载的 etc 目录。

cd /ssh

再输入 vi shadow 编辑 shadow 文件

2024/08/22/1724299591393.webp

输入 i 进入编辑模式,第二行空行出来,将原先第二行的内容复制一行到新的第二行。将 daemon 改成自己想要用来访问 ssh 后台的用户名,* 改成 Ncs2WgyP92eHA(对应明文密码:1234-qwer),改完后按一下键盘 esc 键退出编辑模式,依然是英文环境下输入 :wq 保存并退出 shadow 文件。

2024/08/22/1724299603776.webp

接下来输入一下命令进入 passwd 文件编辑,和上面 shadow 文件类似的编辑方式,新建一行内容,其中 test111 替换成你 shadow 文件中新增的用户名,其他内容和 root 用户那一行保持完全一致,最后依然记得使用 :wq 保存并退出文件。

vi passwd

2024/08/22/1724299629131.webp

完成上述编辑后,我们就可以使用 ssh 连接工具比如 finalshell,xshell 或者 windows、Mac 自带的命令行进行连接进入极空间的 ssh 后台了,我这里以 Mac 终端进行演示,输入以下内容,其中 test111 替换成你在 shadow 文件中新增的用户名,192.168.31.10 替换成你极空间的 ip,点击回车

ssh [email protected]

首次链接需要先输入 yes,然后再输入一下密码,可以手动输入,也可以复制后直接点击鼠标右键粘贴。(这里不论是手动输入还是粘贴都是看不到输入效果的,输入完或者粘贴完后直接回车即可)

2024/08/22/1724299637217.webp

建议


建议各位小伙伴获取权限后,把这个容器停止运行后保留在这里,以防后面这个方法失效。最后的最后还是要再嘱咐下各位小伙伴,ssh 获取后只是为了更好的使用机器,不要做反编译之类的违法行为,也不要随意更改升级后台组件,以免破坏系统稳定性,导致数据丢失。