最近要给集群设置ssh无密码登陆,如果需要手动设置这个无密码登陆,所以在网上找了几个脚本,亲测下面这个好使,并且设置比较简单。

需要用root账户执行,我也是要给root账户设置无密码登陆。

首先我们要创建密码,执行下面这句命令:

ssh-keygen -t rsa

脚本如下:我们仅仅需要修改的就是node=()里面的主机名就可以了,当前前提是你必须在/etc/hosts 配置了。

#!/bin/bash
node=(hadoop.Master hadoop.SlaveT1 hadoop.SlaveT2)  # hostname for each node
username=root            # username to be interconnected
homename=$username        # home dir, i.e. home/zhangyang
if [ "$username" = "root" ];
then
        homename=root
else
        homename=home/$username
fi

; i<${#node[*]}; i++))
do
        ssh $username@${node[i]} 'ssh-keygen -t rsa; chmod 755 ~/.ssh'
done
#cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

echo "batch authorized_keys created..."
echo "start scp..."

#scp node003:/$homename/.ssh/authorized_keys /$homename/.ssh/node003.key
; i<${#node[*]}; i++))
do
        scp ${node[i]}:/$homename/.ssh/id_rsa.pub /$homename/.ssh/${node[i]}.key
        echo "scp from ${node[i]} finished..."
done

echo "append key to authorized_keys..."
; i<${#node[*]}; i++))
do
        cat /$homename/.ssh/${node[i]}.key >> /$homename/.ssh/authorized_keys
        echo "append ${node[i]}.key finished..."
done

echo "append all key finished..."
loop=${#node[*]}
let subloop=loop-
echo "starting scp complete authorized_keys to ${node[1]}~${node[subloop]}"
; i<${#node[*]}; i++))
do
        scp /$homename/.ssh/authorized_keys ${node[i]}:/$homename/.ssh/authorized_keys
        echo "scp to ${node[i]} finished..."
done
echo "scp all nodes finished..."

# delete intermediate files
rm -rf /$homename/.ssh/*.key
echo "all configuration finished..."

然后给脚本授予执行的权限 chmod +x  batchSSH.sh

然后执行./batchSSh.sh

当然这个脚本也有缺陷,它需要自己手动输入密码,如果节点多的话,还是很痛苦的,不过还好啦,比起自己手动搞的话,好多了,谁叫我不懂shell呢,哈哈!

批量设置ssh无密码登陆脚本的更多相关文章

  1. 批量实现SSH无密码登陆认证脚本

    批量实现SSH无密码登陆认证脚本 问题背景 使用为了让linux之间使用ssh不需要密码,可以采用了数字签名RSA或者DSA来完成.主要使用ssh-key-gen实现. 1.通过 ssh-key-ge ...

  2. Linux设置ssh无密码登陆

    最近在折腾Hadoop,要用到主机间无密码登陆,设置的时候遇到了一些问题,这里记录一下. 假设A需要无密码登陆B. 那么首先需要在A上使用ssh-keygen生成id_rsa.pub的公钥,生成时,一 ...

  3. linux下设置SSH无密码登陆

    SSH配置 主机cloudgis22.edu.cn:192.168.3.21 主机cloudgis33.edu.cn:192.168.2.174 假设需要配置主机A无密码登录主机A,主机B,先确保所有 ...

  4. ssh无密码登陆远程机,pssh轻批量工具

    #B(client)--------A(g_server)#A:   ssh-keygen -t rsa (g_server)#B:    scp -P 58422 root@g_server_ip: ...

  5. 烂泥:学习ssh之ssh无密码登陆

    本文由秀依林枫提供友情赞助,首发于烂泥行天下 最近一个月没有写过文章,主要是刚刚换的新工作.新公司服务器OS使用的是ubuntu server版,和以前熟悉的centos还是有很多不同的. 刚好这几天 ...

  6. SSH无密码登陆问题解决

    转载 http://my.oschina.net/hunzi/blog/10687 安装好Cygwin后,SSH需要设置为无密码登陆, 首先查看是ssh还是ssh2:ls -l `which ssh` ...

  7. linux ssh 无密码登陆

    要点:有时候ssh localhost 无法登陆本机,但各种设置都正确.重启下就好了...... 参考地址:http://bbs.csdn.net/topics/370109654 三台机器实现互相之 ...

  8. hadoop-13-root ssh无密码登陆

    hadoop-13-root ssh无密码登陆 生产机器禁止ROOT远程SSH登录: vi /etc/ssh/sshd_config 把 PermitRootLogin yes 改为 PermitRo ...

  9. 设置SSH自动登陆(免密码,用户名)

    设置SSH自动登陆(免密码,用户名)   1.创建公钥.公钥  ssh-keygen -t rsa  无视它出来的任何提示,欢快的一路回车到底吧.  2.把公钥 id_rsa.pub 复制到远程机器的 ...

随机推荐

  1. [转]MVC 框架教程

    Spring web MVC 框架提供了模型-视图-控制的体系结构和可以用来开发灵活.松散耦合的 web 应用程序的组件.MVC 模式导致了应用程序的不同方面(输入逻辑.业务逻辑和 UI 逻辑)的分离 ...

  2. Nuxt 开发环境不支持ip访问?

    传送门:https://nuxtjs.org/faq/host-port 开发模式下不支持ip访问? 打开package.json,添加如下配置,然后重启即可. "config": ...

  3. MSSQL2005:“超时时间已到。在操作完成之前超时时间已过或服务器未响应”

    1.今天在整合项目中有这样一个需求,就是要改变以存在表字段的文本的大小,如把char(15)改成varchar(50). 2.此时以存在表已有1885742条数据,在直接下面进行调用 ALTER TA ...

  4. php反射获取类和方法中的注释

    通过php中的反射机制,获取该类的文档注释,再通过获取其所有的方法,获取方法的注释 所用到的主要类及其方法 ReflectionClass ReflectionClass::getDocComment ...

  5. 解决 emoji表情存入数据库为' ??? '

    今天把mysql切换为mariaDB,这是题外话 主要是emoji标签存入数据库会发现出现三个???的问题 页面上也显示不出来,解决办法只要把内容从数据库里拿出来的时候解码即可 for (Feedba ...

  6. DevExpress GridControl List绑定方式下新增行的方法

    List<Person> gridDataList = new List<Person>(); //此处是数据源 List集合 BindingList<Person> ...

  7. PostgreSQL判断是否为空coalesce

    coalesce(expr1,expr2,expr3...) 直到找到一个非null值返回,右边的表达式则不参与运算:若所有为null,返回null. eg:判断json是否包含某属性,若无,则取默认 ...

  8. gf框架之grpool - 高性能的goroutine池

    Go语言中的goroutine虽然相对于系统线程来说比较轻量级,但是在高并发量下的goroutine频繁创建和销毁对于性能损耗以及GC来说压力也不小.充分将goroutine复用,减少goroutin ...

  9. 88个 Linux 系统管理员必备的监控工具

    随着互联网行业的不断发展,各种监控工具多得不可胜数.这里列出网上最全的监控工具.让你可以拥有超过80种方式来管理你的机器.在本文中,我们主要包括以下方面: 命令行工具 网络相关内容 系统相关的监控工具 ...

  10. hdu Constructing Roads (最小生成树)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1102 /************************************************* ...