. 就我而言,我想编写一个创建 Borg-6ren">
gpt4 book ai didi

linux - 如何从脚本添加/替换命令到 SSH 公钥的末尾?

转载 作者:太空宇宙 更新时间:2023-11-04 10:02:24 25 4
gpt4 key购买 nike

当限制 SSH 公钥可以访问哪些命令时,可以在 .ssh/authorized_keys 中的 SSH 公钥末尾添加 command="something" >.

就我而言,我想编写一个创建 Borg repositories 的 Bash 脚本,并且每个公钥都需要有这样的限制

command="cd /home/backup/repos/<client fqdn>;
borg serve --restrict-to-path /home/backup/repos/<client fqdn>",
restrict <keytype> <key> <host>

问题

是否有一种官方方法可以代替编写 awksed 单行代码来执行此操作?

或者是否只有一个非常漂亮的 awksed 解决方案,而不需要官方支持的方式?

最佳答案

#!/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;

强制命令在文件中位于最前面,而不是最后。

关于linux - 如何从脚本添加/替换命令到 SSH 公钥的末尾?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55180243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com