为什么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密钥配置相关推荐

  1. linux git hudson,如何使用SSH密钥配置Hudson和git插件

    我的Hudson(连续集成系统)的git插件在Tomcat Windows服务上运行.已安装msysgit,并且msysgit bin目录位于路径中.已安装PuTTY / Pageant / plin ...

  2. TortoiseGit客户端的ssh密钥配置

    2019独角兽企业重金招聘Python工程师标准>>> 1.生成密钥 这里推荐使用git的客户端来生成ssh key. 在任意目录下邮件,选择[git gui here],弹出如下页 ...

  3. linux ssh 密钥配置

    1.说明: 1.ssh:Secure Shell (SSH) 是一个允许两台电脑之间通过安全的连接进行数据交换的网络协议.SSH采用公钥加密技术来验证远程主机,以及(必要时)允许远程主机验证用户. 2 ...

  4. 通过ssh-keygen命令生成SSH密钥

    在GitHub.GitLab等代码托管平台上,通常在克隆仓库的时候,会提供ssh协议的链接.ssh协议链接的好处是只要在平台上配置好SSH密钥,就可以直接克隆当前账号下的所有仓库,而不用输入账号和密码 ...

  5. Github使用ssh密钥登陆

    Github使用ssh密钥登陆 生成SSH密钥 配置Github 检查SSH连接 使用Github 附录:更改密钥名称 方法一:为已创建的密钥改名 方法二:创建时使用新的名称 参考链接 想要从linu ...

  6. [原创]SSH密钥访问Git仓库配置

    SSH密钥并非为了解决拉取git仓库代码时,需要频繁输入密码的问题. SSH是一种比较安全的协议,可以用来免去远程登录Linux等服务器时需要输入密码的繁琐过程. 命令: ssh user@serve ...

  7. 配置多个git账号的ssh密钥

    博客改版,请直接访问新版文章:https://www.cnblogs.com/xiaoxi666/p/9975981.html 背景 我们在工作中会以 ssh 的方式配置公司的 git 账号,但是平时 ...

  8. 阿里云配置SSH密钥连接

    阿里云配置SSH密钥连接 目前我的blog是搭在腾讯云上的,但是因为当初上云的时候是试验性质,而且也没遇到618或者双11之类的促销,所以就随便买了一个99一年的主机,现在满打满算也剩下半年不到了,所 ...

  9. 配置Linux两节点SSH密钥信任

    首先感谢兄弟"瑞瑞"提供资料 1. 生成两节点Oracle用户SSH密钥 Racnode1 [root@racnode1 ~]#su - oracle--------------- ...

  10. git 查看自己秘钥_gitlab配置ssh密钥及简单使用

    演示环境:当前系统Centos6.9,使用IP192.168.0.80 修改gitlab仓库地址 编辑gitlab.yml文件 vim /opt/gitlab/embedded/service/git ...

最新文章

  1. Entity Framework的事务提交
  2. Run application
  3. 操作系统原理:页置换算法,FIFO,LRU,Clock,LFU,二次机会法
  4. HDU 5536 Chip Factory 字典树+贪心
  5. 转载:Yahoo推出视频标签游戏
  6. 30.Android之百度地图简单学习
  7. leetcode1123. 最深叶节点的最近公共祖先(dfs)
  8. “零代码”时代已来!程序员真的要去送外卖了?
  9. shell学习笔记(五)
  10. python绘制wx+b_【教学分享】大数据博士教你用python玩转时空大数据
  11. java linux socket编程_linux下socket编程实例?javasocket编程流程?java socket编程实例代码讲解...
  12. html获取页面高度,js获取各种高度
  13. 计算机的性能及评估标准
  14. 【强烈建议收藏保存】70多个免费实用工具,数字激活、数据恢复、配置检测......
  15. 服务器修复工具,Microsoft .NET Framework 修复工具可用
  16. 【2019年5月6日】指数估值排名
  17. 为什么计算机专业的学生要学习使用 Linux 系统?
  18. 使用SQLite打开本地.db文件
  19. 二十八、动词不定式 2 做表语、宾语、后置定语、状语
  20. Glide-通过Modules定制Glide

热门文章

  1. php从入门到精通分享,PHP从入门到精通学习路线图分享
  2. python流程图自动生成_python自动化办公 自动生成PPT通报
  3. PHP用户连续签到赠送额外积分
  4. 情侣c语言程序,C/C++编程笔记:C语言制作情侣必备《爱情电子相册》,源码解析!...
  5. Yii Framework2.0开发教程(3)数据库mysql入门
  6. configure: error: gperf is needed
  7. 没有用括号确定操作符的优先级顺序,导致错误一例
  8. 文字处理(WORD/WP)中,布局与绘制必然分开
  9. libs/spandsp/src/floating_fudge.h:40:20: error: implicit declaration of function ‘sin’ [-Werror=impl
  10. 更换介质:请把标有“Debian GNU/Linux 10.2.0 _Buster_ - Officia的盘片插入驱动器“/media/cdrom/”再按「回车」键