2016-04-03 99 views
0

的腳本應該從OSSEC服務器分發密鑰的意義,它的客戶試圖使bash腳本

cat /usr/local/bin/dist-ossec-keys.sh 
#!/bin/sh 
# 

for host in chef-production2-doctor-simulator01 
do 
    echo "host is $host" 
    key=`mktemp` 
    grep $host /var/ossec/etc/client.keys > $key 
    echo "key is $key" 
    scp -i /var/ossec/.ssh/id_rsa -B -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no $key [email protected]$host:/var/ossec/etc/client.keys >/dev/null 2>/dev/null 
    rm $key 
    ech "done" 
done 

我跑了一行腳本行,它的輸出是

host is chef-production2-doctor-simulator01 
key is /tmp/tmp.fAZqvNkJ9f 

在bash腳本從this模板

cat /var/ossec/etc/client.keys 
001 #*#*#*#*#*#*#*#*#*#*#197.221.226 7196c76c568258e2ad836f8e1aa37e0758dee969f560ceb59be76879c3f3412d 
002 test-agent 10.128.0.9 e2c9b117f26a202598007dcb4ec64e01f18000f9d820f6b3508a95e5313e6537 

什麼是它應該做的創造? 爲什麼它不起作用?

+0

你爲什麼不分配使用廚師食譜的鑰匙?不知道,你與廚師有多遠,但恕我直言,這正是當通過廚師管理基礎設施時生活更容易。 – StephenKing

+0

@StephenKing這就是我想要做的,它不工作,所以我試圖調試它。基本上這個腳本通過廚師客戶端運行。 – WebQube

+0

你踢這個腳本,通過SSH登錄到其他節點?如果這些其他節點也運行廚師,這將是非常簡單和乾淨(使用運行_there_的食譜)。 – StephenKing

回答

0

錯誤是在scp -i /var/ossec/...

我可憐的Linux知識未能注意到 >/dev/null 2>/dev/null

去除透露真正的錯誤(這是Permission denied (publickey)