创建远程用户来启动一个文件

创建远程用户来启动一个文件

问题如下:我用 Python 做了一个几乎可以在任何操作系统(Windows 除外)上运行的东西,我被告知要评估/使用/试用它的人只能在 Windows 上使用。所有可用的控制台模拟器都失败了,而我没有选择重写代码或在这些机器上安装虚拟机。

截止日期是 8 小时后,我的想法如下:

以我的服务器为例,创建一个无密码用户(例如,使用应用程序名称),该用户只能启动该文件或别名(启动该文件)并启动 ssh 服务器。

然后他们只需通过 ssh 进入机器,程序就会弹出。这是一个纯文本控制台,因此不会出现问题。

问题是,我不知道如何让 Linux 用户受到如此多的限制。我该怎么做?服务器只是一台测试机器,它不保存重要数据,通常处于关闭状态或离线工作,因此安全性在这里不是一个大问题。我只想让它正常工作。此外,解决方案不会是永久性的,我只需要它明天工作大约 7 个小时,然后我就可以自由摆弄它并让它正常工作。

编辑:尽管我很欣赏信息丰富的长篇回答,但我不得不说,现在是凌晨 4:30,我已经快两天没睡觉了,我快要昏过去了。所以请不要添加任何不必要的内容,我不可能理解。

答案1

您可以通过运行 的 SSH 授权密钥允许无密码登录ssh-keygen,这会生成公钥和私钥。用户需要私钥才能登录,服务器需要公钥。~/.ssh/authorized_keys您可以在 如何设置 ssh 以便不需要输入密码

关于限制,您可以为该用户创建一个 chrooted 环境,这更安全但需要做更多的工作,或者您可以对授权密钥进行一些限制:

command="/your/script/path/filename",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pry YOUR-SSH-KEY

您可以获取更多信息管理脚本和 cron 作业的 SSH

答案2

我无法创建无密码的用户,但我创建了一个用户名和密码为 programname 的用户,并在 /etc/ssh/sshd_config 文件中添加了它Match User testuserForceCommand python /path/file.py 这样任何人都可以登录(登录信息位于该服务器的网站上)查看该程序,然后在程序关闭时自动注销。

相关内容