linux - 在 ssh 上运行 bash 脚本

标签 linux bash scripting ssh

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

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

现在,我正在尝试让脚本执行,即使用户实际上并未登录,而只是运行命令。 例如,我希望在用户运行以下命令时执行脚本:

ssh user@host.com some_command

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

最佳答案

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

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

~/.ssh/rc

我已经做了一些测试,rc 解决方案在您的情况下工作正常,当用户通过 ssh 启动远程命令时,它会被执行。

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

关于linux - 在 ssh 上运行 bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19008692/

相关文章:

bash - 如何执行以引号和星号存储为字符串的bash命令

linux - 服务不支持 chkconfig

linux - 如何在.sh文件中编写ssh连接代码以连接到远程计算机

c++ - 隐藏使用 system() 时使用的控制台命令? C++ Linux

java - 服务器关闭时远程启动 GlassFish v3

bash - sed:仅当包含在引号中时才替换文本中的字符串

linux - bash - 从远程 ssh 命令捕获退出代码

mysql - 推荐用于修改 MySQL 数据库的语言

linux - Bash I/O 重定向

linux - 如何使用 shell 脚本验证用户密码?