ruby - 每当有人通过 SSH 登录时调用进程

标签 ruby bash ubuntu ssh ubuntu-14.04

每当有人尝试通过 SSH 连接到服务器(比如 Ubuntu 14.04)时,我都会尝试调用 ruby​​ 脚本。
例如,有人试图使用 ssh root@serverip 登录,并且应该调用我的 ruby​​ 脚本,并且只有当脚本返回 true 并且如果返回 false 连接应该关闭时,登录过程才应该继续。

我怎样才能做到这一点?

谢谢。

最佳答案

为了满足您的要求,您还应该使用 $SSH_ORIGINAL_COMMAND环境变量,如果你使用 ForceCommand选项:

ForceCommand /path/to/script && $SSH_ORIGINAL_COMMAND

这将根据 /path/to/script 的退出状态运行您的脚本。 ,它将运行用户命令或退出 session 。

关于ruby - 每当有人通过 SSH 登录时调用进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37479186/

相关文章:

ruby - 独立 Ruby 中的事件记录

ruby-on-rails - Rails ActiveRecord where 子句在本地与生产中使用 .first 与 .last

linux - 是否可以完全禁用 linux 重定向运算符(<<、>>、<、>、>|)

linux - Bash - 设置 grep -rl 只返回文件名,而不是完整路径

ruby - Rspec 套件无法在 ECONNREFUSED 的 AWS Ubuntu 上运行 - 但每个测试都单独通过

ubuntu - Ubuntu 上的 panic : Missing emulator engine program for 'x86' CPU.

ubuntu - 找不到 SIP 命令

ruby-on-rails - ruby on rails 命名作用域实现

ruby - 如何在 ruby​​ 1.8.7 中写入 "string".encode ("us-ascii")?

bash - 如何删除 BASH 中只包含数字的行?