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

原创 2015年07月10日 15:56:07

作用:

把当前机器的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信任关系

linux机器间建立SSH信任关系   ssh信任关系,是指一台服务器上的一个用户信任客户端的一个用户,允许这个用户不输入密码登录,另一个说法叫做public_key_auth。实际上就是证书信任。 ...

批量配置SSH 免密钥登录脚本

[root@c3-zabbix-serv hurl]# cat sendsshkey.sh  #!/bin/bash  if [ -z $1 ]; then echo -e "\033[40;31...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

集群中配置多台计算机之间ssh无密码登录的一种简便方法

当我们在配置多台计算,使之可以相互使用无密码登录-ssh,之前都是一台一台的配置,现在一台A上添加B,然后在另一台B上再次添加A,这样使得authorized_keys中的内容相同,但时并不是完全相同...

Linux服务器之间建立信任关系,ssh免密码登录

建立信任关系的基本操作 基本场景是想从一台Server服务器直接登录另一台,或者将Server服务器的数据不需密码验证直接拷贝至Client服务器,以下我们简称Server服务器为S(待发送的数据文...

Linux多台主机批量命令脚本

转自我的个人博客:www.mylonly.com/?p=287 1 如果你只维护着1台机器,这篇文章对你可能就没啥用处了。 如果你维护着大量的Linux主机,...

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

因实际开发需要,有时候会
  • nuaazdh
  • nuaazdh
  • 2014年09月28日 16:42
  • 11055

Linux服务器间信任关系建立方法

Linux两台服务器间建立信任关系的方法 在Linux服务器之间建立信任关系,是很多线上服务系统的基础性工作,这样能便于程序在多台服务器之间自动传输数据,或者方便用户不输入密码就可以在不同的主机...
  • cserchen
  • cserchen
  • 2014年01月20日 15:57
  • 10913

批量自动建立linux服务器之间的ssh互信

介绍:我们在部署无密码访问时,如果手工输入.很费时间.下面方法用于自动化生成authorized_keys,免去了手工数据. 方法: 利用expect编写sshkey.exp在远程主机上生成id_r...
  • u9999
  • u9999
  • 2013年10月28日 21:52
  • 3084

Linux 批量拷贝数据脚本 + ssh 无密码登陆远程LINUX主机

最近想弄个Linux下批量传输拷贝部署远程服务器脚本 思路:1.与远程客户端建立等效性             2.拷贝数据、或者执行远程服务器命令 自动化等效性脚本如下:前提是安装expect...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux 批量建立信任关系,实现ssh无密码登陆的脚本
举报原因:
原因补充:

(最多只允许输入30个字)