[英]How can I add/replace a command to the end of an SSH public key from script?
當限制 SSH 公鑰可以訪問哪些命令時,可以在.ssh/authorized_keys
中的 SSH 公鑰末尾添加command="something"
。
就我而言,我想編寫一個創建Borg 存儲庫的 Bash 腳本,並且每個公鑰都需要有這樣的限制
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;
強制命令是文件中的第一個,而不是最后一個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.