绿联云Nas新版本v3.4.0固件开启SSH


之前老的方式固定前缀加远程协助验证码在更新到最新版本的v3.4.0后已经失效,想要开启ssh只能使用另一种方式,也希望绿联云官方在系统更加完善(权限管理、软件卸载)前不要再继续封堵开启的方式,当然,如果能提供官方的开启方式更好

免责声明:本教程所提供的内容仅供学习交流使用,请勿用于商业及非法用途,因此产生的任何法律纠纷均与本人无关!如有侵权,请您联系我,我将立刻删除该内容

注:此教程可能会造成未知的后果,在此期间所造成的系统风险请自行承担

创建随机镜像

首先拉取一个镜像,我这里选择 nginx:stable-alpine

然后点击创建容器,存储空间添加一个任意目录,挂载到 /data 下,其它参数为默认,然后下一步,先不要点击完成

抓包获取Token

打开 wireshark 进行抓包,输入筛选参数

ip.dst_host == 192.168.31.65 and http and http.request.method==POST

然后返回绿联云,点击完成,这时会在 wireshark 窗口看到一条HTTP请求

点击这条请求,然后 右键 -> Follow -> HTTP Stream

这时会看到具体的HTTP请求头和请求参数,在下方的Find里输入 create 进行查找,然后将红色内容复制到本地,将请求参数 {"_query"...} 复制到一个 json 文件

接着修改 json 文件,找到HostConfig -> Mounts,将里面的 Source 参数修改为 /

手动创建容器

首先到绿联云删除刚开始创建的容器

然后使用命令行手动请求创建容器,其中 ugreen.json 为抓包获取并修改后的参数文件,请求头保持一致

创建完成后,返回绿联云,刷新并查看详情,可以看到绿联系统的根目录已经挂载到容器内部

修改SSH配置

使用终端进入Docker内部

然后添加公钥到root目录,怎么生成公私钥这里不再叙述。 查看sshd的配置,默认是不允许使用公钥匙登录的,所以需要修改 PubkeyAuthentication noPubkeyAuthentication yes

接着到设备管理 -> 远程协助 -> 开启远程调试功能,重启sshd就是关闭远程调试然后重新打开

SSH登录

最后就可以使用ssh公钥登录绿联云系统了

问题排查

如果无法使用ssh公钥登录,可以查看系统的ssh登录日志

grep ssh /data/data/nas_server/log/system/*syslog | less

如果提示 Authentication refused: bad ownership or modes for directory /root,则执行

chmod go-w /data/root

如果提示 ssh-rsa: signature algorithm not supported,则添加下面配置到sshd_config

PubkeyAcceptedKeyTypes=+ssh-rsa

其它

升级到v3.4.0后,目前觉得还不错,其中批量重命名,TMDB接口,自定义Hosts等都是非常有用的功能,也希望绿联能再接再厉,我们这些用户也能和绿联Nas一同成长。

对了,之前文件同步会修改源文件权限的问题已经被修复,Very Good

作者: honmaple
链接: https://honmaple.me/articles/2023/07/绿联云Nas新版本v3.4.0固件开启SSH.html
版权: CC BY-NC-SA 4.0 知识共享署名-非商业性使用-相同方式共享4.0国际许可协议
wechat
alipay

加载评论