linux互信封装脚本,使用shell脚本实现自动SSH互信功能
說假設(shè)有一個1000臺節(jié)點(diǎn)的Hadoop集群,要配置節(jié)點(diǎn)之間的SSH免密碼登錄,該如何用shell腳本實現(xiàn)?
#!/bin/expect
#循環(huán)1000臺機(jī)器的IP地址,生成密鑰文件authorized_keys
for ip in {cat ip.list}
do
ssh user@$ip ssh-keygen -t rsa ?&>/dev/null
expect{
"yes/no" { send "yes\r";exp_continue}
"password:"{send "$passwd\r";exp_continue}
}
cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys &> /dev/null
exit
if [ !-f ~/.ssh/authorized_keys ];
? ?then
touch ~/.ssh/authorized_keys
? ?fi
ssh user@$ip cat ~/.ssh/authorized_keys >> ~/.ssh/authorized_keys ?&> /dev/null
expect{
"yes/no" { send "yes\r";exp_continue}
"password:"{send "$passwd\r";exp_continue}
}
done
#scp authorized_keys 文件到各臺機(jī)器上面。
for ip in {cat ip.list}
do
scp ~/.ssh/authorized_keys user@$ip:~/.ssh/
expect{
"yes/no" { send "yes\r";exp_continue}
"password:"{send "$passwd\r";exp_continue}
}
done
總結(jié)
以上是生活随笔為你收集整理的linux互信封装脚本,使用shell脚本实现自动SSH互信功能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux postgres用户,关于l
- 下一篇: linux安装vsftp教程,CentO