如何将密钥仅授权给 sftp,并且仅授权给子目录?

如何将密钥仅授权给 sftp,并且仅授权给子目录?

我需要允许sftp仅访问计算机上的帐户,其中我没有root,以便远程用户只能将put文件上传()到子目录,而不能执行其他任何操作。

没有 root 访问权限使我无法关注大量现有的示例/教程,因为它们都谈论修改sshd_config

command我的计划是这样设置授权密钥的: command="internal-sftp -d %d/dump -pls,put"。这个想法是,sftp 服务将在 中启动~/dump/,并且只允许lsput,即使用户想要退出,他也无法退出。

不幸的是,如果我给command 任何参数,身份验证成功后,sftp 连接立即断开。客户端没有错误,而且,如果没有 root,我无法查看服务器日志。

即使我删除-p标志,它仍然会立即断开连接...只有基本系统"internal-sftp"可以工作,但遥控器可以看到 - 并覆盖 -任何事物,包括其~/.ssh/authorized_keys本身。

authorized_keys是否可以在不改变全局设置的情况下可靠地将仅 sftp 密钥添加到自己的密钥中?

(是的,可能是这样,用户可以通过put使用明确的路径来“逃脱”,但我甚至无法测试它......)

相关内容