December 14, 2017

解决mac上无法用coda sftp访问merlin以及群晖root目录问题

mac上众所周知不再支持scp协议 这里不讨论scp sftp的安全问题,答案是都不够安全。

windows下各种sftp工具都可以支持scp协议对root目录进行图形化操作,mac下coda sftp登陆群晖的话就只能访问到volume*

这是因为默认群晖6.x下的sftp binary已经限制死了root directory

解决方案也很简单,首先要把群晖root拿到

sudo -i

vi /etc/ssh/sshd_config

PermitRootLogin 改成yes

重新启动sshd服务,admin登入,sudo -i

synoservicectl --reload sshd  重新载入sshd配置文件

synoservicectl --restart sshd  重启sshd服务

synouser --setpw root xxx

安装ipkg包管理器

wget http://ipkg.nslu2-linux.org/feeds/optware/syno-i686/cross/stable/syno-i686-bootstrap_1.2-7_i686.xsh

chmod +x syno-i686-bootstrap_1.2-7_i686.xsh  ‌‌./syno-i686-bootstrap_1.2-7_i686.xsh

检查环境变量是否生效。ipkg update

安装sftp-server

ipkg install nano openssh-sftp-server

修改sshd_config 替换掉sftp-server的binary

#override default of no subsystems

Subsystem sftp /volume1/@optware/libexec/sftp-server #Subsystem sftp    internal-sftp -f DAEMON -u 000

关于merlin的sftp是安装entware.sh初始化之后就可以

opkg update && opkg install http://bin.entware.net/armv7sf-k2.6/openssh-sftp-server_8.1p1-1_armv7-2.6.ipk

最后重启sshd即可愉快地在mac下用sftp工具玩弄群晖的root目录