有没有办法在 sftp 会话退出时触发脚本?

有没有办法在 sftp 会话退出时触发脚本?

我正在寻找一种在 sftp 会话退出后启动 shell 脚本的方法。

是否可以/home/user/.bash_logout通过 sftp 触发,它是如何工作的?

我尝试介入RequestTTY force~/.ssh/config但这没有帮助。

答案1

sftp 会话结束后,不可能在远程服务器上启动任何命令,这是因为 sftp 时在远程服务器上执行的所有内容都是SSH_ORIGINAL_COMMAND指向*sftp-server二进制文件的 env 变量的内容。

如果您想在远程服务器上执行任何操作,只需创建一个包装器并通过ForceCommand或 通过command=中的 ssh 公钥“强制”它.ssh/authorized_keys

例如,我正在使用这样的包装器来rsync在 sftp 会话结束到另一台服务器后自动镜像用户数据。

相关内容