使用shell脚本实现自动SSH互信功能
原文:http://www.cnblogs.com/vovlie/archive/2012/09/16/2688020.html说假设有一个1000台节点的Hadoop集群,要配置节点之间的SSH免密码登录,该如何用shell脚本实现?
#!/bin/expect#循环1000台机器的IP地址,生成密钥文件authorized_keysforip in {cat ip.list}dossh user@$ipssh-keygen -t rsa&>/dev/nullexpect{"yes/no"{ send"yes\r";exp_continue}"password:"{send"$passwd\r";exp_continue}}cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys &> /dev/nullexitif[ !-f ~/.ssh/authorized_keys ]; thentouch ~/.ssh/authorized_keys fissh user@$ipcat ~/.ssh/authorized_keys >> ~/.ssh/authorized_keys&> /dev/nullexpect{"yes/no"{ send"yes\r";exp_continue}"password:"{send"$passwd\r";exp_continue}} done#scp authorized_keys 文件到各台机器上面。forip in {cat ip.list}doscp ~/.ssh/authorized_keys user@$ip:~/.ssh/ expect{"yes/no"{ send"yes\r";exp_continue}"password:"{send"$passwd\r";exp_continue}}done
页:
[1]