我正在尝试创建一个新的二级用户,该用户有权访问 SFTP 文件并通过 SSH 访问特定目录。
我已经可以使用 SFTP,但是当我尝试通过 SSH 登录时,出现以下错误:写入失败:管道损坏
根用户使用公钥/私钥,但我希望次要用户使用密码。
以下是我目前所掌握的信息:
useradd test
passwd test
usermod -G www-data test
usermod -d /usr/share/nginx/html test
chown test:www-data /usr/share/nginx/html
至于我的 sshd_config 的补充:
AllowUsers test
Match User test
ChrootDirectory /usr/share/nginx/html
PasswordAuthentication yes
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
我剩下要做的就是让测试用户能够访问他们主目录中的 CLI 来运行 composer 和 artisan 命令。
答案1
我确信你对 ChrootDirectory 的权限不正确
这是引自man sshd_config
路径名的所有组件都必须是根拥有的目录,并且任何其他用户或组都无法对其进行写入。
还请检查/var/log/auth.log
服务器,您将看到一条错误消息。