簡體   English   中英

如何從腳本添加/替換命令到 SSH 公鑰的末尾?

[英]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>

有沒有一種官方的方法來做到這一點而不是編寫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;

強制命令是文件中的第一個,而不是最后一個。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM