Linux 如何从脚本向SSH公钥的末尾添加/替换命令?
当限制SSH公钥可以访问哪些命令时,可以在.SSH/authorized\u keys中的SSH公钥末尾添加command=something 在我的例子中,我想编写一个Bash脚本来创建,每个公钥都需要有这样的限制Linux 如何从脚本向SSH公钥的末尾添加/替换命令?,linux,perl,awk,ssh,sed,Linux,Perl,Awk,Ssh,Sed,当限制SSH公钥可以访问哪些命令时,可以在.SSH/authorized\u keys中的SSH公钥末尾添加command=something 在我的例子中,我想编写一个Bash脚本来创建,每个公钥都需要有这样的限制 command="cd /home/backup/repos/<client fqdn>; borg serve --restrict-to-path /home/backup/repos/<client fqdn>",
command="cd /home/backup/repos/<client fqdn>;
borg serve --restrict-to-path /home/backup/repos/<client fqdn>",
restrict <keytype> <key> <host>
问题:
有没有一种官方的方法来代替写一行awk或sed
还是只有一个awk或sed解决方案如此漂亮,以至于不需要官方支持的方式
#!/usr/bin/perl
use File::Slurp;
my $fqdn = $ARGV[0];
my $k = read_file("$ARGV[1]");
my @m = split / /, $k;
my $c = 'command="cd /tank/borg/repos/FQDN; borg serve --restrict-to-path /tank/borg/repos/FQDN",restrict TYPE KEY';
$c =~ s/FQDN/$fqdn/g;
$c =~ s/TYPE/$m[0]/g;
$c =~ s/KEY/$m[1]/g;
print $c;
强制命令是文件中的第一个命令,而不是最后一个。如果存在强制命令,请给出相关不雅awk或sed命令的示例。