我正在寻找一种在 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 会话结束到另一台服务器后自动镜像用户数据。