需求
批量實現(xiàn)自動發(fā)送公鑰到遠(yuǎn)程主機
環(huán)境
firewalld:關(guān)閉
selinux:關(guān)閉
實現(xiàn)方式
- sshpass命令
- shell調(diào)用expect命令
sshpass命令
#!/bin/bash
#
#********************************************************************
#Author: hechunping
#QQ: ×××
#Date: 2019-11-07
#FileName: ssh-sshpass.sh
#URL: hexiaoshuai.blog.51cto.com
#Description: The test script
#Copyright (C): 2019 All rights reserved
#********************************************************************
NET=172.20.200
USER=(root hechunping)
PASSWORD=123456
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa > /dev/null
sed -i '/StrictHostKeyChecking/c StrictHostKeyChecking no' /etc/ssh/ssh_config
rpm -q sshpass > /dev/null || yum -y install sshpass > /dev/null
for i in {1..254} ; do
{
sshpass -p $PASSWORD ssh-copy-id -i ${USER[0]}@${NET}.${i} > /dev/null
}
done
wait
shell調(diào)用expect命令
#!/bin/bash
#
#********************************************************************
#Author: hechunping
#QQ: ×××
#Date: 2019-11-07
#FileName: ssh-expect.sh
#URL: hexiaoshuai.blog.51cto.com
#Description: The test script
#Copyright (C): 2019 All rights reserved
#********************************************************************
NET=172.20.200
USER=(root hechunping)
PASSWORD=123456
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa > /dev/null
for i in {1..254} ; do
{
expect EOF
spawn ssh-copy-id -i ${USER[0]}@${NET}.${i}
expect {
"yes/no" { send "yes\n";exp_continue }
"password" { send "${PASSWORD}\n" }
}
expect eof
EOF
}
done
wait
總結(jié)
以上所述是小編給大家介紹的shell腳本實現(xiàn)ssh-copy-id批量自動發(fā)送公鑰到遠(yuǎn)程主機,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
您可能感興趣的文章:- shell中如何批量注釋和取消注釋
- shell腳本實現(xiàn)統(tǒng)計文件大小、批量創(chuàng)建用戶的示例
- shell腳本批量復(fù)制及執(zhí)行命令的示例詳解
- 使用Shell腳本批量啟停Docker服務(wù)
- shell腳本批量刪除es索引的方法
- shell批量curl接口腳本的簡單實現(xiàn)方法
- 詳解Shell 命令行批量處理圖片文件名的實例
- 如何使用shell在多服務(wù)器上批量操作