在ssh上运行bash脚本

时间:2013-09-25 15:11:59

标签: linux bash scripting ssh

我有一个主机,我在其上创建了一个脚本。

只要用户通过ssh登录,脚本就会被执行bashrc启动脚本。

现在我正在尝试让脚本执行,即使用户实际上没有登录,只是运行一个命令。 例如,如果用户正在运行以下命令,我希望执行脚本:

ssh user@host.com some_command

有没有办法实现上述目标?

2 个答案:

答案 0 :(得分:2)

影响所有用户的解决方案可能是使用pam-exec并在用户登录事件上启动脚本。查看pam-exec manual page以及如何使用它的示例pam-exec scripting

单个用户的简单解决方案应该是在rc用户的ssh文件中添加脚本,将脚本添加到:

~/.ssh/rc

我已经完成了一些测试,rc解决方案可以正常工作,当用户通过ssh启动远程命令时,它会被执行。

如果您没有rc文件,只需创建它。

答案 1 :(得分:0)

您可以编辑authorized_keys文件并添加一个COMMAND,例如: command =“/ home / michael / bin / dothis.sh”......公钥...... 有关详细信息,请阅读ssh和authorized_keys文档。