限制SSH - 没有命令的bash

所以我一直在研究这个问题。想知道是否有更好的方法,或者我是否走在正确的轨道上。 我基本上想让一些用户通过SSH登录我的服务器,然后通过SSH连接建立一个squid隧道。 然而,棘手的部分是我不希望这些用户能够执行任何命令。我的意思是什么都没有。 所以在这个阶段我设置了一个jail via - jailkit。然后将特定用户放在监狱中,并将bash shell作为shell。 下一步是删除/ jail / bin /目录等中的所有命令,以便它们无法执行任何命令。 我在正确的道路上吗?你会建议什么? 另外......我看到它会给他们许多命令找不到错误...我该如何删除它们。 有没有其他的外壳,我可以看看给他们不会让他们做任何事情?     
已邀请:
您可以将它们的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和朋友。     

要回复问题请先登录注册