另一種可能性:在一臺服務器上手動更改它。從/ etc/shadow中獲取加密的密碼。現在,做這樣的事情:
for host in $HOST_LIST; do
ssh $host "passwd -p 'encrypted_passwd' user"
done
當然,「encrypted_passwd」是你離開了/ etc/shadow文件的,你手動更改了密碼,$ HOST_LIST是你想要的密碼的主機列表。改變。這可能簡單地創建:
export HOST_LIST="server1 server2 server15 server67"
或許與文件(如其他建議):
export HOST_LIST=`cat host_list.txt`
凡文件「host_list.txt」擁有所有系統的列表,你想要更改密碼。
編輯:如果你的passwd版本不支持-p選項,你可能有'usermod'程序可用。上面的例子保持不變,只需將'passwd'替換爲'usermod'即可。
此外,你可以考慮useful tool pdsh,這將簡化上述例子是這樣的:
echo $HOST_LIST | pdsh -Rssh -w- "usermod -p 'encrypted_passwd' user"
最後一個「疑難雜症」看出來的:加密的密碼可能包含美元符號( '$')作爲字段分隔符。您可能必須在for循環或pdsh命令中將其轉義(即「$」變爲「\ $」)。在squashbuff的例子
更改系統管理員? – TLP
不幸的是沒有一個選項.. :) – squashbuff