除了 chroot jail 之外,还有其他方法可以限制 SSH 用户吗?
Is there another way to restrict SSH user other than chroot jail?
我需要为外国 SSH 用户创建一个 安全环境,该用户必须对我们的服务器具有非常有限的访问权限。即:
- 只能执行允许的命令
- 只能使用允许的特定软件
- 在任何情况下都不允许see/modify/remove his/her 根文件系统之外的文件夹和文件
在使用 jailkit 工具之前,我曾尝试使用 chroot jail 用于一个不需要那么多自定义并且工作正常的较小项目,但是这个项目要大得多并且需要在允许的软件和命令方面有更多的自定义。
对安全环境的要求是:
- 使用 ls、cd、grep 等基本命令的能力
- 运行 dotnet 脚本的能力
- 利用 运行ning RabbitMQ 代理的能力(代理 运行ning 在环境之外)
- 利用 运行ning PostgreSQL 数据库的能力(该数据库 运行ning 在环境之外)
我听说过 multistrap 或 debootstrap 但我不确定这些是否足以解决我的问题。
服务器 运行正在 Debian OS v. 9 和 10 上运行。所有必需的软件都安装在根文件系统中,并且 运行 没问题。我所需要的只是让受限用户能够在不能够 damage/corrupt 根文件系统的情况下使用它。
我的问题是:
- 有没有我没有提到的其他有用(更好)的工具可以解决我的问题?
- 对于我提到的软件,是否有任何有用的指南可以解决我的问题?
以防有人遇到同样的问题。我使用带有单独 SSH 服务器的 Docker 容器解决了这个问题,并在上面安装了所有必需的软件。
我需要为外国 SSH 用户创建一个 安全环境,该用户必须对我们的服务器具有非常有限的访问权限。即:
- 只能执行允许的命令
- 只能使用允许的特定软件
- 在任何情况下都不允许see/modify/remove his/her 根文件系统之外的文件夹和文件
在使用 jailkit 工具之前,我曾尝试使用 chroot jail 用于一个不需要那么多自定义并且工作正常的较小项目,但是这个项目要大得多并且需要在允许的软件和命令方面有更多的自定义。
对安全环境的要求是:
- 使用 ls、cd、grep 等基本命令的能力
- 运行 dotnet 脚本的能力
- 利用 运行ning RabbitMQ 代理的能力(代理 运行ning 在环境之外)
- 利用 运行ning PostgreSQL 数据库的能力(该数据库 运行ning 在环境之外)
我听说过 multistrap 或 debootstrap 但我不确定这些是否足以解决我的问题。
服务器 运行正在 Debian OS v. 9 和 10 上运行。所有必需的软件都安装在根文件系统中,并且 运行 没问题。我所需要的只是让受限用户能够在不能够 damage/corrupt 根文件系统的情况下使用它。
我的问题是:
- 有没有我没有提到的其他有用(更好)的工具可以解决我的问题?
- 对于我提到的软件,是否有任何有用的指南可以解决我的问题?
以防有人遇到同样的问题。我使用带有单独 SSH 服务器的 Docker 容器解决了这个问题,并在上面安装了所有必需的软件。