我想有一个命令行程序,我在Python中自动运行,当某个用户使用SSHlogin到我的服务器上。 但用户不能逃脱程序或运行任何其他命令。
该程序允许用户查看某些服务器信息并向pipe理员发送消息。 你能想到无论如何,我可以在Ubuntu的OpenSSH服务器做到这一点?
谢谢,戴夫。
最安全的方法是将您的命令定义为用户的shell(而不是/ bin / bash或类似的)。 除非你的代码有错误,否则很难绕过。
第二种最安全的方法是在您的sshdconfiguration中使用ForceCommand ,或者在您的authorized_keys中使用command = 。
不要只是把命令放在.bash_profile或类似的地方,这是一个常见的错误,很容易规避。
请注意,即使将用户限制为单个命令,他们仍然可以通过SSH会话打开隧道。 您也可以防止不信任的用户。