在 QNAP 上部署 Gitea 并启用原生 SSH

安装好 Gitea 之后(安装过程略过,添加 https://www.myqnap.org/ 源后直接安装即可),正常情况下 SSH 是不工作的(即使你已经在 Gitea 中添加了相应的 SSH Key)。主要原因是 QNAP 默认并不支持非管理员账号登录 SSH。此时一般的解决方案是启用 Gitea 的自带 SSH 服务(通常会开在另一个非 22 的端口上),但这种解决方法实在丑陋。大概研究了一下,找到了一个更优雅的解决方案。

总的来说,QNAP 上存储 sshd 服务的配置文件在 /etc/config/ssh/sshd_config 中,其中的 AllowUsers 配置项决定了哪些用户可以通过 SSH 登录。默认情况下,这个配置项只包含了管理员账号,但你直接修改这个配置文件是不生效的,原因是控制 sshd 服务的脚本 /etc/init.d/login.sh 在启动时会覆盖这个配置文件。因此这里需要做两件事情

阅读更多