关闭

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

2501人阅读 评论(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 

0
0
查看评论

批量建立linux机器之间的ssh互信的自动化脚本

手工建立ssh互信需要好几个步骤,并且中途人工交互(输入密码等),如果机器数目多,则很繁琐,为了节省自己的时间,写了个自动化脚本,供参考。 1、在其中一台机器上新建一个可执行的文件(假设文件名为ssh_auth.sh),在该文件中添加以下内容: #!/bin/sh DEST_USER=$1...
  • lotomer
  • lotomer
  • 2013-04-18 11:53
  • 5728

Linux多台主机批量命令脚本

如果你只维护着1台机器,这篇文章对你可能就没啥用处了。 如果你维护着大量的Linux主机,就需要这样一个脚本帮助你完成日常维护工作,脚本很简单,主要是提供一个思路,其他功能的脚步都可以按照此脚本的流程实现。 1、首先你需要指定一台主机作为信任主机,这样从这台主机登录其他机器就不需要密码了。 如...
  • liuxiao723846
  • liuxiao723846
  • 2015-04-30 16:32
  • 1050

Linux中用脚本实现批量添加和删除普通用户

批量添加普通用户: 1:创建脚本 vim useradd.sh 2:编写 #!/bin/bash #批量添加用户 read -t 30 -p "Please input user's name: " name read -t 30 -p "Pleas...
  • qq_38038143
  • qq_38038143
  • 2017-05-11 17:59
  • 1059

Linux多台主机批量命令脚本

转自我的个人博客:www.mylonly.com/?p=287 1 如果你只维护着1台机器,这篇文章对你可能就没啥用处了。 如果你维护着大量的Linux主机,就需要这样一个脚本帮助你完成日常维护工作,脚本很简单,主要是提供一个思路,其他功能的脚步都可以按照此...
  • txg703003659
  • txg703003659
  • 2013-12-17 11:09
  • 6793

Linux 集群上批量执行同一命令 shell 脚本

因实际开发需要,有时候会
  • nuaazdh
  • nuaazdh
  • 2014-09-28 16:42
  • 12282

linux机器间建立SSH信任关系

linux机器间建立SSH信任关系   ssh信任关系,是指一台服务器上的一个用户信任客户端的一个用户,允许这个用户不输入密码登录,另一个说法叫做public_key_auth。实际上就是证书信任。    实际步骤 步骤 DSA RSA 1在机器...
  • franktan2010
  • franktan2010
  • 2014-12-13 10:38
  • 2208

两台服务器建立信任关系(root,普通用户)

—–root用户———————- openSSH的默认设置是允许root可以直接login. (PermitRootLogin yes),暂且保留这种设置,我们先考虑如何用SSH直接从A到B不需要密码,假设用用户root登录到A,想SSH到B也作为root不需要密码。1。 分别从A和B上登录作为r...
  • liuyuzhu111
  • liuyuzhu111
  • 2016-04-22 22:47
  • 535

linux生成免密码登录

linux生成免密码登录: ssh-keygen -t rsa ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub master
  • qq_36330643
  • qq_36330643
  • 2017-08-09 12:12
  • 306

ssh 批量无密码登陆设

参考:http://www.tuicool.com/articles/ZZzmyazstep1: 当前目录新建hosts 文件(跟sh脚本同目录下) 内容如下: 192.168.1.100 192.168.1.100 192.168.1.100 master# yum install expect...
  • u013636377
  • u013636377
  • 2016-01-26 14:39
  • 384

一键批量配置ssh免密码登录

  • 2016-07-14 13:54
  • 2KB
  • 下载
    个人资料
    • 访问:1561851次
    • 积分:13243
    • 等级:
    • 排名:第1198名
    • 原创:148篇
    • 转载:367篇
    • 译文:0篇
    • 评论:89条
    博客专栏
    文章分类
    最新评论