多主机SSH密钥配置
为什么80%的码农都做不了架构师?>>>
前言
平时需要管理多台主机,在内网内往往需要打通SSH密钥.主机相互之间需要两两配置SSH密钥,随着主机数量增多,此工作量甚是繁琐无味.
故编写如下配置脚本,只需在一台主机上面部署,执行一个命令即可打通多台主机之间相互的SSH密钥.
@Author duangr
@Website http://my.oschina.net/duangr/blog/181205
1.相关环境
Host Name | OS | IP |
duangr-1 | CentOS 64 x86_64 | 192.168.56.10 |
duangr-2 | CentOS 64 x86_64 | 192.168.56.11 |
duangr-3 | CentOS 64 x86_64 | 192.168.56.12 |
2.部署规划
项 | 值 |
登陆用户 | hadoop |
用户密码 | yourpasswd |
安装路径 | /export/home/tools/ |
程序所在主机 | 192.168.56.10 |
其他远程主机 | 192.168.56.11,192.168.56.12 |
3.代码获取
- ssh-key-generate2.tar.gz
4.前提依赖
程序所在主机需要安装expect脚本
- 查看主机是否已安装expect
[root@duangr-1 ~]# rpm -qa |grep -i expect
expect-5.44.1.15-4.el6.x86_64
- 若没有安装,请下载expect-5.44.1.15-4.el6.x86_64
[root@duangr-1 ~]# rpm -ivh expect-5.44.1.15-4.el6.x86_64
本文只针对64bit Centos6.4,若版本不符请网上搜索 http://rpm.pbone.net
5.安装工具包
- 使用需要打通SSH密钥的用户(比如hadoop)登陆主机192.168.56.10
- 上传工具包并解压
tar -zxf ssh-key-generate2.tar.gz -C /export/home/tools/
cd /export/home/tools/ssh-key-generate2
dos2unix *
chmod 751 *.sh
6.配置密钥
6.1 修改配置
[hadoop@duangr-1 ssh-key-generate2]$ vi config.ini
########################
# config #
########################
# local address
LOCAL_ADDR=192.168.56.10 ## 本机地址
# use "," to split mult addrs
REMOTE_ADDR=192.168.56.11,192.168.56.12 ## 远程主机地址
# passwd
PASSWD=yourpasswd ## 当前登录用户对应密码,目前只支持多主机密码相同的情况
# skip detect
SKIP_DETECT=true ## 是否跳过探测的过程.此步骤的目的是在密钥打通后,依次从每台主机上向其他所有主机ssh登录一遍
6.2 打通密钥
[hadoop@duangr-1 ssh-key-generate2]$ ./ssh-key-generate.sh
[2013-10-24 23:35:28] [INFO ] Using BIN_HOME: /export/home/tools/ssh-key-generate2
[2013-10-24 23:35:28] [INFO ] Using LOCAL_ADDR: 192.168.56.10
[2013-10-24 23:35:28] [INFO ] Using REMOTE_ADDR: 192.168.56.11,192.168.56.12
[2013-10-24 23:35:28] [INFO ] Using USER: hadoop
[2013-10-24 23:35:28] [INFO ] Using PASSWD: yourpasswd
[2013-10-24 23:35:28] [INFO ] Using SKIP_DETECT: true
[2013-10-24 23:35:28] [INFO ] local host 192.168.56.10 ssh-key init ...
[2013-10-24 23:35:28] [INFO ] write authorized_keys_192.168.56.10 into authorized_keys ...
[2013-10-24 23:35:28] [INFO ] local host 192.168.56.10 ssh-key init over!
[2013-10-24 23:35:28] [INFO ] remote host 192.168.56.11 ssh-key init ...
[2013-10-24 23:35:33] [INFO ] write authorized_keys_192.168.56.11 into authorized_keys ...
[2013-10-24 23:35:33] [INFO ] remote host 192.168.56.12 ssh-key init ...
[2013-10-24 23:35:37] [INFO ] write authorized_keys_192.168.56.12 into authorized_keys ...
[2013-10-24 23:35:37] [INFO ] all remote hosts init over!
[2013-10-24 23:35:37] [INFO ] issue authorized_keys to all remote hosts ...
[2013-10-24 23:35:37] [INFO ] issue authorized_keys to remote host 192.168.56.11 ...
[2013-10-24 23:35:37] [INFO ] issue authorized_keys to remote host 192.168.56.12 ...
[2013-10-24 23:35:37] [INFO ] issue authorized_keys to all remote hosts over!
6.3 查看帮助
[hadoop@duangr-1 ssh-key-generate2]$ ./ssh-key-generate.sh -helpUsage: ssh-key-generate.sh -helpshow help informantion.Usage: ssh-key-generate.sh -v|-versionshow version informantion.Usage: ssh-key-generate.sh detectonly detect between all remote hosts.Usage: ssh-key-generate.shGenerate SSH KEY between all hosts, please check config.ini before run.config.iniLOCAL_ADDR - Local host address. It's necessary.REMOTE_ADDR - Remote host address. It's necessary, Use ',' to split mult addrsPASSWD - All hosts default password. It's necessary.
转载于:https://my.oschina.net/duangr/blog/181205
多主机SSH密钥配置相关推荐
- linux git hudson,如何使用SSH密钥配置Hudson和git插件
我的Hudson(连续集成系统)的git插件在Tomcat Windows服务上运行.已安装msysgit,并且msysgit bin目录位于路径中.已安装PuTTY / Pageant / plin ...
- TortoiseGit客户端的ssh密钥配置
2019独角兽企业重金招聘Python工程师标准>>> 1.生成密钥 这里推荐使用git的客户端来生成ssh key. 在任意目录下邮件,选择[git gui here],弹出如下页 ...
- linux ssh 密钥配置
1.说明: 1.ssh:Secure Shell (SSH) 是一个允许两台电脑之间通过安全的连接进行数据交换的网络协议.SSH采用公钥加密技术来验证远程主机,以及(必要时)允许远程主机验证用户. 2 ...
- 通过ssh-keygen命令生成SSH密钥
在GitHub.GitLab等代码托管平台上,通常在克隆仓库的时候,会提供ssh协议的链接.ssh协议链接的好处是只要在平台上配置好SSH密钥,就可以直接克隆当前账号下的所有仓库,而不用输入账号和密码 ...
- Github使用ssh密钥登陆
Github使用ssh密钥登陆 生成SSH密钥 配置Github 检查SSH连接 使用Github 附录:更改密钥名称 方法一:为已创建的密钥改名 方法二:创建时使用新的名称 参考链接 想要从linu ...
- [原创]SSH密钥访问Git仓库配置
SSH密钥并非为了解决拉取git仓库代码时,需要频繁输入密码的问题. SSH是一种比较安全的协议,可以用来免去远程登录Linux等服务器时需要输入密码的繁琐过程. 命令: ssh user@serve ...
- 配置多个git账号的ssh密钥
博客改版,请直接访问新版文章:https://www.cnblogs.com/xiaoxi666/p/9975981.html 背景 我们在工作中会以 ssh 的方式配置公司的 git 账号,但是平时 ...
- 阿里云配置SSH密钥连接
阿里云配置SSH密钥连接 目前我的blog是搭在腾讯云上的,但是因为当初上云的时候是试验性质,而且也没遇到618或者双11之类的促销,所以就随便买了一个99一年的主机,现在满打满算也剩下半年不到了,所 ...
- 配置Linux两节点SSH密钥信任
首先感谢兄弟"瑞瑞"提供资料 1. 生成两节点Oracle用户SSH密钥 Racnode1 [root@racnode1 ~]#su - oracle--------------- ...
- git 查看自己秘钥_gitlab配置ssh密钥及简单使用
演示环境:当前系统Centos6.9,使用IP192.168.0.80 修改gitlab仓库地址 编辑gitlab.yml文件 vim /opt/gitlab/embedded/service/git ...
最新文章
- Entity Framework的事务提交
- Run application
- 操作系统原理:页置换算法,FIFO,LRU,Clock,LFU,二次机会法
- HDU 5536 Chip Factory 字典树+贪心
- 转载:Yahoo推出视频标签游戏
- 30.Android之百度地图简单学习
- leetcode1123. 最深叶节点的最近公共祖先(dfs)
- “零代码”时代已来!程序员真的要去送外卖了?
- shell学习笔记(五)
- python绘制wx+b_【教学分享】大数据博士教你用python玩转时空大数据
- java linux socket编程_linux下socket编程实例?javasocket编程流程?java socket编程实例代码讲解...
- html获取页面高度,js获取各种高度
- 计算机的性能及评估标准
- 【强烈建议收藏保存】70多个免费实用工具,数字激活、数据恢复、配置检测......
- 服务器修复工具,Microsoft .NET Framework 修复工具可用
- 【2019年5月6日】指数估值排名
- 为什么计算机专业的学生要学习使用 Linux 系统?
- 使用SQLite打开本地.db文件
- 二十八、动词不定式 2 做表语、宾语、后置定语、状语
- Glide-通过Modules定制Glide
热门文章
- php从入门到精通分享,PHP从入门到精通学习路线图分享
- python流程图自动生成_python自动化办公 自动生成PPT通报
- PHP用户连续签到赠送额外积分
- 情侣c语言程序,C/C++编程笔记:C语言制作情侣必备《爱情电子相册》,源码解析!...
- Yii Framework2.0开发教程(3)数据库mysql入门
- configure: error: gperf is needed
- 没有用括号确定操作符的优先级顺序,导致错误一例
- 文字处理(WORD/WP)中,布局与绘制必然分开
- libs/spandsp/src/floating_fudge.h:40:20: error: implicit declaration of function ‘sin’ [-Werror=impl
- 更换介质:请把标有“Debian GNU/Linux 10.2.0 _Buster_ - Officia的盘片插入驱动器“/media/cdrom/”再按「回车」键