![除了 chroot jail 之外,还有其他方法可以限制 SSH 用户吗?](https://linux22.com/image/765974/%E9%99%A4%E4%BA%86%20chroot%20jail%20%E4%B9%8B%E5%A4%96%EF%BC%8C%E8%BF%98%E6%9C%89%E5%85%B6%E4%BB%96%E6%96%B9%E6%B3%95%E5%8F%AF%E4%BB%A5%E9%99%90%E5%88%B6%20SSH%20%E7%94%A8%E6%88%B7%E5%90%97%EF%BC%9F.png)
我需要创建一个为外国 SSH 用户提供安全的环境对我们的服务器的访问权限必须非常严格。即:
- 只能执行允许的命令
- 只能使用允许的特定软件
- 在任何情况下都不允许查看/修改/删除其根文件系统之外的文件夹和文件
在使用之前我曾尝试过使用 chroot jailjailkit 工具对于较小的项目来说,它不需要太多的定制并且运行良好,但这个项目要大得多,并且在允许的软件和命令方面需要更多的定制。
安全环境的要求是:
- 能够使用基本命令,例如 ls、cd、grep 等。
- 运行 dotnet 脚本的能力
- 利用正在运行的 RabbitMQ 代理的能力(代理在环境之外运行)
- 利用正在运行的 PostgreSQL 数据库的能力(该数据库在环境之外运行)
我听说过多带或者解引导但我不确定这些工具是否适合解决我的问题。
服务器正在运行Debian OS v. 9 和 10。所有必需的软件都安装在根文件系统中,并且运行良好。我所需要的只是让受限用户能够使用它,而不会损坏/破坏根文件系统。
我的问题是:
- 有没有我没有提到的其他有用的(更好的)工具可以解决我的问题?
- 我提到的软件是否有任何有用的指南可以解决我的问题?
答案1
以防有人遇到同样的问题。我使用带有单独 SSH 服务器的 Docker 容器以及安装在其上的所有必需软件解决了该问题。