当用户使用 SSH 登录时运行 Python 程序

当用户使用 SSH 登录时运行 Python 程序

我想要一个用 Python 编写的命令行程序,当某个用户使用 SSH 登录我的服务器时,该程序会自动运行。但该用户必须不能退出该程序或运行任何其他命令。

该程序允许用户查看某些服务器信息并向管理员发送消息。您能想到我可以用 Ubuntu 中的 OpenSSH 服务器来做这件事吗?

谢谢,戴夫。

答案1

最安全的方法是将命令定义为用户的 shell(而不是 /bin/bash 或类似的东西)。除非代码中有 bug,否则很难规避。

第二种最安全的方法是使用部队指挥在你的 sshd 配置中或命令=在您的authorized_keys中。

不是只需将命令放入 .bash_profile 或类似文件中,这是一个常见的错误,而且很容易规避。

请注意,即使您限制用户只能执行此单个命令,他们仍然能够通过 SSH 会话打开隧道。您可能还希望阻止不受信任的用户这样做。

相关内容