中国网络水泥 发表于 2018-8-30 09:56:56

使用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]
查看完整版本: 使用shell脚本实现自动SSH互信功能