将现有ssh_授权_密钥导入puppet ressource
有没有办法自动将所有现有ssh密钥从/root/.ssh/authorized_密钥导入puppet?例如: 如果我在/root/.ssh/ssh\u authorized\u密钥中有以下内容:将现有ssh_授权_密钥导入puppet ressource,ssh,puppet,Ssh,Puppet,有没有办法自动将所有现有ssh密钥从/root/.ssh/authorized_密钥导入puppet?例如: 如果我在/root/.ssh/ssh\u authorized\u密钥中有以下内容: ssh-rsa AAAAakljsehrkjysdfjkhasdkfhskjghg== userA@hostA ssh-rsa AAAAajklrkljeykljrsyehkrjryekjdkj== userB@hostB 我想运行类似以下内容: puppet resource ssh_authori
ssh-rsa AAAAakljsehrkjysdfjkhasdkfhskjghg== userA@hostA
ssh-rsa AAAAajklrkljeykljrsyehkrjryekjdkj== userB@hostB
我想运行类似以下内容:
puppet resource ssh_authorized_key
并获得以下输出:
ssh_authorized_key {'userA':
ensure => present,
key => 'AAAAakljsehrkjysdfjkhasdkfhskjghg==',
type => 'ssh-rsa',
name => 'userA@hostA',
user => 'root',
}
ssh_authorized_key {'userB':
ensure => present,
key => 'AAAAajklrkljeykljrsyehkrjryekjdkj==',
type => 'ssh-rsa',
name => 'userB@hostB',
user => 'root',
}
这有可能吗?这可能有点过分,但您可以运行并获取所需的部分,或者一个简单的bash脚本:
while read line; do
keytype=$(echo $line | awk '{print $1}');
keystr=$(echo $line | awk '{print $2}');
username=$(echo $line | awk '{print $3}');
echo "ssh_authorized_key {'$(echo $username | awk -F'@' '{print $1}')':";
echo " ensure => present,";
echo " key => '$keystr',";
echo " type => '$keytype',";
echo " name => '$username',";
echo " user => '$(whoami)',";
echo "}";
done < .ssh/authorized_keys
读行时;做
keytype=$(echo$行| awk'{print$1}');
keystr=$(echo$行| awk'{print$2}');
用户名=$(echo$行| awk'{print$3}');
echo“ssh_authorized_key{'$(echo$username | awk-F'@'{print$1}'):”;
回显“确保=>存在”;
echo“key=>'$keystr',”;
echo“type=>'$keytype',”;
echo“name=>'$username',”;
echo“user=>”$(whoami)”;
回声“}”;
完成<.ssh/授权密钥
来源:这可能有点过分,但您可以运行并获取所需的部分,或者使用一个简单的bash脚本:
while read line; do
keytype=$(echo $line | awk '{print $1}');
keystr=$(echo $line | awk '{print $2}');
username=$(echo $line | awk '{print $3}');
echo "ssh_authorized_key {'$(echo $username | awk -F'@' '{print $1}')':";
echo " ensure => present,";
echo " key => '$keystr',";
echo " type => '$keytype',";
echo " name => '$username',";
echo " user => '$(whoami)',";
echo "}";
done < .ssh/authorized_keys
读行时;做
keytype=$(echo$行| awk'{print$1}');
keystr=$(echo$行| awk'{print$2}');
用户名=$(echo$行| awk'{print$3}');
echo“ssh_authorized_key{'$(echo$username | awk-F'@'{print$1}'):”;
回显“确保=>存在”;
echo“key=>'$keystr',”;
echo“type=>'$keytype',”;
echo“name=>'$username',”;
echo“user=>”$(whoami)”;
回声“}”;
完成<.ssh/授权密钥
资料来源: