我的问题在 Stack Overflow 上被关闭后,我被建议在这里发帖。
我正在尝试使用 Putty 通过 SSH 在远程服务器上运行 bash 脚本。我在 Windows 10 计算机上,脚本保存在服务器上。这是一个交互式脚本,因此我需要能够在脚本运行后输入一些数据。
这是我迄今为止尝试过的:
1)通过Putty登录
2)导航到保存脚本的目录
3)输入命令
sh scriptname.sh
此时Putty返回消息:
forbidden command: sh
我哪里做错了?Putty 是不是我尝试做这件事时不合适的工具?
我已经与管理员讨论过此事,他声称能够从普通用户帐户运行脚本,但除此之外他没有提供任何帮助。
答案1
不是 Putty 给出了该错误 - 而是远程服务器给出了该错误。
登录后,您在 Putty 窗口内看到的所有文本均来自另一侧。
您需要检查您可以在该远程服务器上执行/运行什么操作。
答案2
根据输出,forbidden command: sh
您的 ssh 帐户设置为外壳作为 shell。基本上,它的目的是将命令限制为一个非常小的集合。所以你不能从中运行你的脚本。即使你这样做,也很可能会失败,因为命令集非常受限制。
没有常规方法可以从 运行脚本。如果可以运行自定义脚本,lshell
您可以尝试要求管理员将您的帐户 shell 更改为。bash