技巧转自:记账网站 aulara.cn
印象中,gitolite这个实用Perl软件可以通过SSH身份验证触发指定动作,以执行脚本进行授权git操作。 于是调查了一下,发现SSH的authorized_keys文件里可以为每一个key配上command,一旦验证身份成功就会强制调用该command,从而实现“不登录远程Shell即可执行特定脚本”。
该技巧非常爽,但有个缺点:配上command的key必须是唯一的,大量使用会导致authorized_keys里充斥过多条目。
[术语]
是不是可以把这一技巧简称为“SSH Trigger Action”?:)
[实践]
rsync的维护者特别编写了一个Perl脚本专门用于上述技巧,配合rsync的-e选项,实现出触发式同步数据功能。
工具名字也很好玩,叫rrsync。
以下是在试验机上编写的SSH Trigger Action条目:
command="rrsync /tmp/try",from="192.168.0.119" ssh-rsa AAAA...