1. 程式人生 > 實用技巧 >定期批量修改遠端伺服器root密碼

定期批量修改遠端伺服器root密碼

轉至:https://blog.csdn.net/dieman0446/article/details/102370767?utm_medium=distribute.pc_relevant_download.none-task-blog-blogcommendfrombaidu-1.nonecase&depth_1-utm_source=distribute.pc_relevant_download.none-task-blog-blogcommendfrombaidu-1.nonecas

一、背景

很多時候運維或安全工作人員需要維護大量的伺服器,其中就包括判斷是否存在root弱口令,

如果伺服器數量很多一一修改的話的確是要好花費不少時間精力的。如果通過指令碼來實現密碼更改,

再做一個定期任務的話,會節省很多人力。

二、設計思路

 1. 配置伺服器使用公鑰登入

 2. 編寫遠端密碼更改指令碼

 3. 配置定時任務執行

三、具體步驟

 1.1 配置伺服器使用公鑰登入

# ssh-keygen -t rsa

1.2 將本地生成的公鑰scp到遠端要更改密碼的所有伺服器主機上(如果遠端伺服器上沒有/root/.ssh目錄的話需要手動新建)

scp /root/.ssh/id_rsa.pub [email protected]:/root/.ssh/authorized_keys

2.1 建立遠端密碼更改指令碼/root/test.sh

   (密碼:abc123456,要更改的遠端主機:192.168.1.1,如果主機很多可以加在ip_array列表裡)

#!/bin/bash

remote_cmd="echo abc123456 | passwd --stdin root"
ip_array=(
"192.168.1.1"
)
for ip in ${ip_array[*]}
do
  ssh root@$ip $remote_cmd
done

3. 配置定時任務執行(每天16:36分執行密碼更改,可使用crontab -e -u user來編輯,以下命令來檢視)

#crontab -l -u root

36 16 * * * /root/test.sh

需要注意的是,所謂“定期”其實還是需要藉助人工的,因為密碼的更改每次都需要不一樣,而每次更改為什麼型別的強密碼還是需要管理員自行判斷,變更的時候只需要變更腳本里的“abc123456”密碼部分即可。