批量设置ssh无密码登陆脚本
2024-08-31 05:13:14
最近要给集群设置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呢,哈哈!
最新文章
- fiddler发送post请求
- pod Spec管理配置
- 使用Dir,遍历文件夹下所有子文件夹及文件
- 小菜学习Winform(七)系统托盘
- MySQL查询缓存
- Java EE开发平台随手记5——Mybatis动态代理接口方式的原生用法
- php导出excel封装类
- have you declared this activity in your AndroidManifest.xml
- WinFom基本属性
- POJ2533Longest Ordered Subsequence(DP)
- tRNAscan-SE
- 获得服务器硬件信息(CPUID、硬盘号、主板序列号、IP地址等)
- dreamvc框架(一)ioc容器的集成
- (转载)小课堂UI-Star Diamond Tutorial
- java没有条件编译
- iOS Touch ID 身份认证
- 懒人的小技巧, 批处理修改IP
- 【深度学习】深入理解Batch Normalization批标准化
- SiteMesh入门(1-1)SiteMesh是什么?
- OLED小记
热门文章
- 关于thymeleaf+layout布局的使用方式,spring boot 访问页面(静态页面及jsp页面)
- Python Tensorflow CNN 识别验证码
- 微服务,ApiGateway 与 Kong
- [转载]关于generate用法的总结【Verilog】
- 绕过chrome的弹窗拦截机制
- node调试的两种方法
- C++对象模型-构造函数语意学
- 每日英语:The best time for coffee is 10:30 a.m.
- HBase写入性能改造(续)--MemStore、flush、compact参数调优及压缩卡的使用【转】
- js模拟form打开新窗口