Linux 使用shell脚本实现自动SSH互信功能
说假设有一个1000台节点的Hadoop集群,要配置节点之间的SSH免密码登录,该如何用shell脚本实现?
#!/bin/expect
#循环1000台机器的IP地址,生成密钥文件authorized_keys
for ip in {cat ip.list}
do
ssh user@$ip ssh-keygen -t rsa &>/dev/null
expect{
"yes/no" { send "yes\r";exp_continue}
"password:"{send "$passwd\r";exp_continue}
}
cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys &> /dev/null
exit
if [ !-f ~/.ssh/authorized_keys ];<br> then
touch ~/.ssh/authorized_keys<br> fi
ssh user@$ip cat ~/.ssh/authorized_keys >> ~/.ssh/authorized_keys &> /dev/null
expect{
"yes/no" { send "yes\r";exp_continue}
"password:"{send "$passwd\r";exp_continue}
}
done
#scp authorized_keys 文件到各台机器上面。
for ip in {cat ip.list}
do
scp ~/.ssh/authorized_keys user@$ip:~/.ssh/
expect{
"yes/no" { send "yes\r";exp_continue}
"password:"{send "$passwd\r";exp_continue}
}
done
转载自:https://www.cnblogs.com/vovlie/archive/2012/09/16/2688020.html
Linux 使用shell脚本实现自动SSH互信功能的更多相关文章
- Python3设置在shell脚本中自动补全功能的方法
本篇博客将会简短的介绍,如何在ubuntu中设置python自动补全功能. 需求:由于python中的内建函数较多,我们在百纳乘时,可能记不清函数的名字,同时自动补全功能,加快了我们开发的效率. 方法 ...
- Python2.7设置在shell脚本中自动补全功能的方法
1.新建tab.py文件 #!/usr/bin/env python # python startup file import sys import readline import rlcomplet ...
- Linux常用Shell脚本珍藏【转载】
我们在运维中,尤其是linux运维,都知道脚本的重要性,脚本会让我们的 运维事半功倍,所以学会写脚本是我们每个linux运维必须学会的一门功课,这里收藏linux运维常用的脚本.如何学好脚本,最关键的 ...
- shell脚本实现自动压缩一天前的日志文件 ,并传到ftp服务器上
shell脚本实现自动压缩一天前的日志文件 ,并传到ftp服务器上 naonao_127关注2人评论19401人阅读2012-06-08 11:26:16 生产环境下脚本自动备份脚本是 ...
- 详解Linux交互式shell脚本中创建对话框实例教程_linux服务器
本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一下. 当你在终端环境下安装新的软件时,你可以经常看到信息 ...
- 使用C#给Linux写Shell脚本(下篇)
在上篇的<使用C#给Linux写Shell脚本>结尾中,我们留下了一个关于C#如何调用BashShell的问题.在文章发布之后,我留意到有读者留言推荐使用“Pash”(一款类PowerSh ...
- Linux/Unix shell 脚本中调用SQL,RMAN脚本
Linux/Unix shell脚本中调用或执行SQL,RMAN 等为自动化作业以及多次反复执行提供了极大的便利,因此通过Linux/Unix shell来完成Oracle的相关工作,也是DBA必不可 ...
- 从windows到linux的shell脚本编码和格式问题
从windows到linux的shell脚本编码和格式问题 从windows到Linux的shell脚本编码和格式问题 1.异常问题 :set ff=unix 启动脚本在启动时报错比如执行sh s ...
- Linux执行shell脚本方式及区别&命令后台运行
Linux执行shell脚本方式及区别&命令后台运行 http://blog.csdn.net/heqiyu34/article/details/19089951/
随机推荐
- 01-打印Hello World、变量
一.打印Hello World 下面就是我们写的打印hello world程序 在go语言中://代表单行注释,/**/代表多行注释 //单行注释 /* 多行注释 多行注释 */ package ma ...
- Linux命令xargs的使用
ls | xargs catls | xargs -I {} cat {} 大写I,指定参数的替换符号为{} 自定义
- Keil 5出现Error: L6218E: Undefined symbol解决方法
首先列出网上百度到比较好的blog: blog1:https://blog.csdn.net/super_demo/article/details/32131379 总结了代码中可能因为几种初级或者粗 ...
- IP核——RAM
一.Quartus 1.打开Quartus ii,点击Tools---MegaWizard Plug-In Manager 2.弹出创建页面,选择Creat a new custom megafunc ...
- Authorization源码解析
1.首先调用 Subject.isPermitted*/hasRole* 接口,其会委托给SecurityManager.SecurityManager 接着会委托给 Authorizer: Auth ...
- Core 导出(流和URL两种)
1.流 2.URL 两种都是使用Epplus 1. EPPlus的基本介绍 EPPlus是一个使用Open Office XML(xlsx)文件格式,能读写Excel 2007/2010 文件的开源组 ...
- Java Swing 资料(转载学习)
Swing图像界面简介:https://blog.csdn.net/xietansheng/article/details/72814531 Swing实用经验总结篇:https://blog.csd ...
- FireWolf OS X PE
FireWolf OS X PE FireWolf OS X PE 9 使用手册 https://pe.firewolf.app/manual/ https://pe.firewolf.app/m ...
- iOS - 静态库的导入和头文件路径的设置
开发过程中,免不了要用到一些第三方或者是别人写好的一些Demo,这时就经常会用到别人写的一些静态库(.a文件)和n多个头文件(.h文件),这些文件不是简单地把它们拉到自己的工程里面就行的,还要设置一些 ...
- Awesome Mac OS Command Line 中文翻译
awesome-macos-command-line 收集了很多有趣的 Mac 终端命令. 看了一遍后,发现帮助很大. 见识许多没有使用过的命令,加深了对 Mac 的认识. 所以翻译成了中文,共享给其 ...