集群中配置多台机器之间 SSH 免密码登录


问题描述

由于现在项目大多数由传统的单台机器部署,慢慢转变成多机器的集群化部署。

但是,这就涉及到机器间的 SSH 免密码互通问题。

当集群机器比较多的时候,如何能快速简洁地配置机器之间的免密码登录呢?


完美方案

1、分别查看集群的机器上,是否安装了 SSH,并且服务正常运行

ps -ef | grep ssh

2、如果步骤 1 检查后,确认没有安装 SSH,可以通过如下命令安装 SSH

sudo apt-get install ssh

找到隐藏目录.ssh(ll -a 可以查看隐藏文件和隐藏目录)。如果没有这个目录,可以使用 mkdir .ssh 命令新建。

3、进入.ssh目录下面,在每台机器上执行如下命令(一路回车,产生密钥):

ssh-keygen -t  rsa

4、完成第3步后会产生两个文件:

id-rsa (私钥)

id-rsa.pub  (公钥)

5、在第 1 台机器的.ssh目录下执行如下命令(此后.ssh目录下会出现authorized_keys文件)

cat id-rsa.pub >> authorized_keys

6、将第1台机器的.ssh目录下面的 authorized_keys 文件拷贝到第 2 台计算机的.ssh目录下

scp authorized_keys root@node2:/root/.ssh/

7、登录第2台机器,在第2台机器的.ssh目录下,执行如下命令(将第2台机器的公钥追加到 authorized_keys 中)

cat id-rsa.pub >> authorized_keys.

8、依次类推,直到集群中的最后一台机器的公钥添加到 authorized_keys 中 。

9、在集群的最后一台机器执行完追加后,生成的 authorized_keys 文件就包含集群中所有机器的公钥。

此时,将最后一台机器上的 authorized_keys 文件,分别 scp 复制到集群中的每一台机器的.ssh目录下,覆盖原来的authorized_keys 文件。

10、完成第 9 步后,集群中的机器之间就实现了 免密码ssh登录。

集群中配置多台机器之间 SSH 免密码登录的更多相关文章

  1. 集群中配置多台计算机之间ssh无密码登录的一种简便方法

    当我们在配置多台计算,使之可以相互使用无密码登录-ssh,之前都是一台一台的配置,现在一台A上添加B,然后在另一台B上再次添加A,这样使得 authorized_keys中的内容相同,但时并不是完全相 ...

  2. CentOS 配置集群机器之间SSH免密码登录

    SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定:SSH 为建立在应用层和传输层基础上的安全协议.SSH 是目前较可靠,专为远 ...

  3. Linux多台服务器间SSH免密码登录配置

    SSH实现各个服务器间的文件相互备份,如运行scp命令,可以实现免密码登录,从而可以使用SHELL脚本实现一些自动化的处理. 假如A机要免密码登录B机,具体方法如下: 1.在A机运行:"ss ...

  4. Linux机器之间SSH免密钥登录设置

    SSH免密钥登录 私钥:密钥留在本机 公钥:密钥发给其他机 hadoop01 生成密钥: ssh-keygen -t rsa (密钥存放路径:/root/.ssh) id_rsa:私钥 id_rsa. ...

  5. linux操作系统-两台linux服务器SSH免密码登录

    A为本地主机(即用于控制其他主机的机器) ; B为远程主机(即被控制的机器Server), ip为192.168.100.247 ; A和B的系统都是Linux   在A上的命令 # ssh-keyg ...

  6. centos配置ssh免密码登录

    master.slave1两台机器实现ssh免密码登录,user:hadoop,passwd:123456 1.设置master: vi /etc/sysconfig/network hostname ...

  7. 配置ssh免密码登录——集群学习日记

    度过了难熬的考试月时期之后,最近和小伙伴一起参加的的比赛进入了紧张的准备时期.在进行工作的时候,发现有很多基础的知识点,自己不是很清楚以及了解,所以在想,要不就边学习的时候边写下学习日记,以供自己后来 ...

  8. Hadoop集群搭建过程中ssh免密码登录(二)

    一.为什么设置ssh免密码登录 在集群中,Hadoop控制脚本依赖SSH来执行针对整个集群的操作.例如,某个脚本能够终止并重启集群中的所有守护进程.所以,需要安装SSH,但是,SSH远程登陆的时候,需 ...

  9. CentOS 6.5配置SSH免密码登录

    centos 系统对权限的设置非常微妙,如果权限设置大了则ssh 拒绝,如果权限小了,则ssh 更是被拒绝(我曾经配置好久没有打通,就是因为权限过大的原因) 参考链接:http://www.linux ...

随机推荐

  1. 从输入URL到页面加载全过程

    从简单讲: 1.  DNS域名解析:2.  建立TCP连接:3.  发送HTTP请求:4.  返回响应结果:5.  关闭TCP连接:6.  浏览器解析HTML:7.  浏览器布局渲染: 大家基本上都知 ...

  2. ionic使用CardIO实现扫描银行卡功能(只能扫描16位以下,并且是浮雕数字)

    在一些涉及支付功能的app,一般需要绑定银行卡,除了靠用户手动输入银行卡号,用手机扫描银行卡也是一种常用的手段,查阅了写资料,发现ionic有CardIO插件可以实现这个功能,就兴致冲冲去尝试,结果有 ...

  3. ajax请求自动刷新页面

    ajax是异步请求技术,可以实现页面的局部刷新.但是今天写代码的时候发现每次ajax之后都会发生整个页面的刷新,最后发现这是因为触发ajax事件的input标签的type设置为了submit,所以会产 ...

  4. Juit4 SpringBoot注解

    @RunWith就是一个运行器 @RunWith(JUnit4.class)就是指用JUnit4来运行 @RunWith(SpringJUnit4ClassRunner.class),让测试运行于Sp ...

  5. HTTP协议几个版本的理解

    HTTP (HyperText transfer protocol) 超文本传输协议 Http是一个应用层协议,基于TCP协议(传输层)之上,规定WWW服务器 浏览器之间信息传递规范.使用的默认端口号 ...

  6. git回退错误的提交

    提交代码导致冲突,执行merge后,冲掉其他人的提交.需要reset,并新建分支进行恢复 解决方法: 1.找到最后一次提交到master分支的版本号,即[merge前的版本号] 2.会退到某个版本号 ...

  7. C# 列排序

    private void button2_Click(object sender, EventArgs e) { DataTable dt = new DataTable(); dt.Columns. ...

  8. jquery blur()函数 语法

    jquery blur()函数 语法 作用:当元素失去焦点时发生 blur 事件.blur() 函数触发 blur 事件,或者如果设置了 function 参数,该函数也可规定当发生 blur 事件时 ...

  9. MessagePack Java Jackson 在不关闭输入流(input stream)的情况下反序列化多变量

    com.fasterxml.jackson.databind.ObjectMapper 在读取输入流变量的时候默认的将会关闭输入流. 如果你不希望关闭输入流,你可以设置 JsonParser.Feat ...

  10. 基于Redis的分布式锁安全性分析-转

    基于Redis的分布式锁到底安全吗(上)?  2017-02-11 网上有关Redis分布式锁的文章可谓多如牛毛了,不信的话你可以拿关键词“Redis 分布式锁”随便到哪个搜索引擎上去搜索一下就知道了 ...