我有一个主机,我在其上创建了一个脚本。
只要用户通过ssh登录,脚本就会被执行bashrc启动脚本。
现在我正在尝试让脚本执行,即使用户实际上没有登录,只是运行一个命令。 例如,如果用户正在运行以下命令,我希望执行脚本:
ssh user@host.com some_command
有没有办法实现上述目标?
答案 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文档。