gpt4 book ai didi

ssh - 限制 SSH - 没有命令的 bash

转载 作者:行者123 更新时间:2023-12-04 21:47:03 24 4
gpt4 key购买 nike

所以我已经为此工作了一段时间。想知道是否有更好的方法或者我是否在正确的轨道上。

我基本上希望允许一些用户通过 SSH 登录到我的服务器,然后通过该 SSH 连接拥有一个 squid 隧道。

然而,棘手的部分是我不希望这些用户能够执行任何命令。我的意思是什么都没有。

所以在这个阶段我已经通过 - jailkit 设置了一个 Jail。然后将特定用户置于 jail 中,并将 bash shell 作为 shell。

下一步将是删除/jail/bin/目录等中的所有命令,以便它们无法执行任何命令。

我走的路对吗?你有什么建议?

另外...我看到它会给他们许多未找到命令的错误...我该如何删除这些错误。

有没有其他我可以考虑给他们的 shell,不会让他们做任何事情?

最佳答案

您可以将他们的 shell 设置为类似/bin/true 的东西,或者可能是一个将输出信息性消息的简单脚本,然后让他们使用 ssh -N 登录(请参阅 ssh 手册页)。我相信这允许他们在系统上没有实际 shell 的情况下使用端口转发。

编辑:

PuTTY 中 ssh -N 的等价物是选中其 SSH 配置选项卡(连接->SSH)中的“根本不启动 shell 或命令”复选框。

编辑2:

作为替代方案,您可以使用进入无限 sleep 循环的脚本。在使用 Ctrl-C 中断连接之前,连接将保持事件状态。我刚试过这个:

#!/bin/sh

echo "DNSH: Do-Nothing Shell"

while sleep 3600; do :; done

如果您将其用作 shell(最好使用更有帮助的消息),您的用户将能够在没有实际 shell 的情况下使用端口转发,而无需了解 ssh -N 和 friend 。

关于ssh - 限制 SSH - 没有命令的 bash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4274826/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com