码迷,mamicode.com
首页 > 系统相关 > 详细

Linux 批量建立信任关系,实现ssh无密码登陆的脚本

时间:2015-07-10 16:36:44      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:

作用:

把当前机器的ssh公钥复制到其他机器,以实现从当前机器可以ssh无密码登陆到其他机器

使用方法:

1)把要添加的ip地址写入到一个文件中,比如host

2)把脚本保存为sh文件,如 install_ssh.sh 设置可执行权限

3)改写脚本中的密码设置,目前只支持固定几个密码。

4)  执行命令 

sh install_ssh.sh <host


代码:


#!/bin/sh


auto_ssh_copy_id() {
  local HOST=$1
  local PASSWD=$2
  expect -c "set timeout -1;
    spawn ssh-copy-id root@$HOST
    expect {
      *publickey* {exit 1;}
      *(yes/no)* {send yes\r; exp_continue;}
      *password* {send \"$PASSWD\r\"; exp_continue;}
      ** {send \"$PASSWD\r\"; exp_continue;}
    }";
}


      #eof {exit 0;}
passwd1=‘noSafeNoWork@2014‘
passwd2=‘SafetyFirst@426‘
passwd3=‘ddd@2008‘
passwd4=‘123456‘
passwd5=‘asdasd‘
passwd6=‘12345‘
while read line; do
  echo "$line" >&2
  isSucceed=‘FALSE‘
  for pw in $passwd1 $passwd2 $passwd3 $passwd4 $passwd5 $passwd6
  do
    if auto_ssh_copy_id "$line" $pw
    then
        isSucceed=‘TRUE‘
        break;
    fi
  done


  if [ $isSucceed != ‘TRUE‘ ]; then
    echo ‘NOTSUCC‘ $line
  fi
done 

版权声明:本文为博主原创文章,未经博主允许不得转载。

Linux 批量建立信任关系,实现ssh无密码登陆的脚本

标签:

原文地址:http://blog.csdn.net/wisgood/article/details/46831643

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!