
极空间 获取 SSH 权限
前言
本方法来自群友分享,旨在更好的使用我们自己的机器,获取 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。
然后点击左侧的 Registries
菜单,再点击右侧 Add Registry
添加一个国内镜像源,不然默认的镜像源拉取速度实在太慢了。
选择 custom registry
,name 随便填入,url 比如南京大学站就填入以下链接,再点击 Add registry
保存。
docker.nju.edu.cn
再点击左侧的 container
页签,进入容器管理页面,点击 Add container
。
因为比较小,加上组件也比较全,获取 ssh 权限会比较方便,这里就使用 alist 来演示如何获取 ssh 权限,name 填入 AlistSSH
(和其他容器不重复就行,可自行更改),registry 选择刚创建的国内源,image 填入 xhofe/alist
填完上面内容把页面拉到最底下,选择 volumes
,点击 map additional volume
添加一个目录映射,container
后面先选择后面的 bind
,然后填入 /ssh
,host
后面填入 /etc
注意下后面是不是 writable
,其他设置都不用动,直接点击 Deploy the contaier
。
耐心等待镜像拉取和容器部署,成功后会跳转到容器管理页面,找到刚才部署的 AlistSSH,点击容器后面的 >_
标志。
点击 connect
进入容器终端。
进入容器终端后输入一下命令进入挂载的 etc 目录。
cd /ssh
再输入 vi shadow
编辑 shadow
文件
输入 i
进入编辑模式,第二行空行出来,将原先第二行的内容复制一行到新的第二行。将 daemon 改成自己想要用来访问 ssh 后台的用户名,*
改成 Ncs2WgyP92eHA
(对应明文密码:1234-qwer
),改完后按一下键盘 esc 键退出编辑模式,依然是英文环境下输入 :wq
保存并退出 shadow 文件。
接下来输入一下命令进入 passwd 文件编辑,和上面 shadow 文件类似的编辑方式,新建一行内容,其中 test111
替换成你 shadow 文件中新增的用户名,其他内容和 root 用户那一行保持完全一致,最后依然记得使用 :wq
保存并退出文件。
vi passwd
完成上述编辑后,我们就可以使用 ssh 连接工具比如 finalshell,xshell 或者 windows、Mac 自带的命令行进行连接进入极空间的 ssh 后台了,我这里以 Mac 终端进行演示,输入以下内容,其中 test111
替换成你在 shadow 文件中新增的用户名,192.168.31.10
替换成你极空间的 ip,点击回车
ssh [email protected]
首次链接需要先输入 yes,然后再输入一下密码,可以手动输入,也可以复制后直接点击鼠标右键粘贴。(这里不论是手动输入还是粘贴都是看不到输入效果的,输入完或者粘贴完后直接回车即可)
建议
建议各位小伙伴获取权限后,把这个容器停止运行后保留在这里,以防后面这个方法失效。最后的最后还是要再嘱咐下各位小伙伴,ssh 获取后只是为了更好的使用机器,不要做反编译之类的违法行为,也不要随意更改升级后台组件,以免破坏系统稳定性,导致数据丢失。