您好,登錄后才能下訂單哦!
IT公司企業級批量分發\管理方案:
1.?????? 中小企業最基本使用的SSHKEY密鑰的方案。
2.?????? 門戶網站PUPPET(復雜),大型企業所需
3.?????? SALTSTACK批量管理(輕量)
運維原則:簡單、易用、高效
?
免密碼登錄原理:
請求者擁有自己生成的公鑰和私鑰,公鑰分發到各個客戶端上,當請求者連接這些客戶端的時候實現免密碼登錄。
?
密鑰分類:DSA和RSA密鑰
在nfs-server輸入ssh-keygen –t dsa,一路回車生成密鑰對
查看~/.ssh目錄
Id_dsa是私鑰 id_dsa.pub是公鑰
?
公鑰復制:
如果數目不大直接用下面的命令就可滿足,如果是上百臺建議使用expect
ssh-copy-id -i id_dsa.pub? oldgirl@192.168.24.21
默認會使用ssh的端口22去傳輸,如果有修改過可以添加-p 端口 去指定,例如:
?
可以通過這個實現免密傳輸文件等執行一些腳本
?
通過循環執行相同的事情:
?
其中執行命令sh fenfa.sh hosts中hosts這個賦值到$1內去
?
添加,如果沒參數($#)報出錯誤提示。
若參數$#個數少于1,則提示,其中$0代表腳本名稱
?
實現效果
?
?
1.利用root做ssh key驗證
???????? 優點:簡單,易用
???????? 缺點:安全差,同時無法禁止root遠程連接這個功能。
???????? 企業應用:80%的中小企業。
?
2.利用普通用戶如oldgirl來做
???????? 思路是先把文件拷貝到服務器用戶家目錄,然后sudo提權拷貝分發的文件到對應權限目錄。
???????? 優點:安全。無需停止root遠程連接這個功能。
???????? 缺點:配置麻煩
3.跟方案2一樣,只是不用sudo,而是設置suid對固定命令授權
優點:相對安全
缺點:復雜,安全性較差。任何人都可以處理帶有suid權限的命令。
?
追求簡單,選1
追求安全,選2
相同功能相對高級的:puppet,saltstack。
?
#!/bin/sh
. /etc/init.d/functions
?
if [ $# -ne 2 ]
? then
?? echo "USAGE:$0 LOCALFILE REMOTEFILE"
?? exit 1
fi
for n in 21 25 32
do
? scp -P22 -r $1 oldgirl@192.168.24.$n:~ &>/dev/null &&
? ssh -t oldgirl@192.168.24.$n sudo rsync $1 $2 &>/dev/null
? if [ $? -eq 0 ]
?? then
??? action "fenfa $1 ok" /bin/true
?? else
??? action "fenfa $1 ok" /bin/false
fi
done
?
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。