之前老的方式固定前缀加远程协助验证码在更新到最新版本的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配置
然后添加公钥到root目录,怎么生成公私钥这里不再叙述。
查看sshd的配置,默认是不允许使用公钥匙登录的,所以需要修改 PubkeyAuthentication no
为 PubkeyAuthentication yes
接着到设备管理 -> 远程协助 -> 开启远程调试功能,重启sshd就是关闭远程调试然后重新打开
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