限制SSH - 没有命令的bash

时间:2010-11-25 08:01:16

标签: ssh jail

所以我一直在研究这个问题。想知道是否有更好的方法,或者我是否走在正确的轨道上。

我基本上想让一些用户通过SSH登录我的服务器,然后通过SSH连接建立一个squid隧道。

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

所以在这个阶段我设置了一个jail via - jailkit。然后将特定用户放在jail中,并将bash shell作为shell。

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

我在正确的道路上吗?你会建议什么?

另外......我发现它会给他们许多命令找不到错误......我该如何删除它们。

有没有其他的外壳可以让他们不让他们做任何事情?

1 个答案:

答案 0 :(得分:2)

您可以将它们的shell设置为/ bin / true,或者可以是一个简单的脚本,它将输出一条信息性消息,然后让它们使用ssh -N登录(请参阅ssh手册页)。我相信它允许他们使用portforwarding而不需要在系统上安装一个独立的shell。

编辑:

PuTTY中ssh -N的等效项是检查其SSH配置选项卡(Connection-> SSH)中的“不要启动shell或命令”复选框。

EDIT2:

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

#!/bin/sh

echo "DNSH: Do-Nothing Shell"

while sleep 3600; do :; done

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