这里以三台mysql的主从服务器为例:manage、master、slave1、slave2
 
给4个机器生成秘钥文件

以manage为例,执行命令,生成空字符串的秘钥(后面要使用公钥),命令是:

[root@manage ~]# ssh-keygen  -t rsa -P ''
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
96:7e:3c:32:f2:44:e4:bc:79:6f:dd:b8:4e:46:17:37
root@localhost.localdomain
The key's randomart image is:
+--[ RSA 2048]----+
|                
|
|                
|
|       
.     
E.|
|      
+
.     
+|
|       
S    
. .|
|      
+ +   . . |
|     
. B =  .oo |
|      
+ = o.oo .|
|       
.  ...o. |
+-----------------+
[root@manage ~]# cd /root/
[root@manage ~]# ll .ssh/
total 8
-rw-------. 1 root root 1675 Apr 28 10:24 id_rsa
-rw-r--r--. 1 root root  408 Apr 28 10:24
id_rsa.pub
[root@manage ~]# cd .ssh/
[root@manage .ssh]# ls
id_rsa  id_rsa.pub
[root@manage .ssh]# cp id_rsa.pub
authorized_keys  
####将id_rsa.pub公钥拷贝重命名authorized_keys文件。
[root@manage .ssh]# ls
authorized_keys  id_rsa 
id_rsa.pub
 

使用同样的方法为master、slave1slave2生成秘钥(命令完全相同,不用做如何修改)

[root@master ~]# ssh-keygen  -t rsa -P
''
[root@slave1 ~]# ssh-keygen  -t rsa -P
''
[root@slave2 ~]# ssh-keygen  -t rsa -P
''
 
#登录master、slave1、slave2,将公钥拷贝到manage的authorized_keys中

[root@master ~]# ssh-copy-id -i
manage_ip   
###manage_ip是指manage这台机器的Ip地址
[root@slave1 ~]#  ssh-copy-id -i
manage_ip
 

授权authorized_keys文件

登录manage,在.ssh目录下输入命令:

[root@manage ~]# cd /root/.ssh/
[root@manage ~]# chmod 600 authorized_keys

将authorized_keys文件复制到其他机器 

[root@manage ~]# scp /root/.ssh/authorized_keys root@master_ip:/root/.ssh/authorized_keys

[root@manage ~]# scp /root/.ssh/authorized_keys root@slave1_ip:/root/.ssh/authorized_keys
[root@manage ~]# scp /root/.ssh/authorized_keys root@slave2_ip:/root/.ssh/authorized_keys
注意第一次ssh登录时需要输入密码,再次访问时即可免密码登录。

测试连接成功的情况:
在manage机器上机器上运行:

[root@manage ~]# ssh master_ip 'hostname'
master
[root@manage ~]# ssh slave1_ip 'hostname'

slave1

[root@manage ~]# ssh slave2_ip 'hostname'

slave2

至此,免密码登录已经设定完成!
 
 
 
 
 
下面这个我试过,步骤没那么多,但原理一样,测试也是可以的。
 
 

配置SSH无密码登录认证

各节点生成秘钥,并将公钥传送到其他服务器,包括自身,如在10.211.55.41创建秘钥。

创建秘钥

ssh-keygen -t rsa  
###一直回车到结束即可

传送到其他机器生成认证文件 
###然后分别在42-43-44机器上操作生成秘钥分发各机器

ssh-copy-id -i /root/.ssh/id_rsa.pub root@10.211.55.41

ssh-copy-id -i /root/.ssh/id_rsa.pub root@10.211.55.42

ssh-copy-id -i /root/.ssh/id_rsa.pub root@10.211.55.43

ssh-copy-id -i /root/.ssh/id_rsa.pub root@10.211.55.44

linux中集群的免秘钥SSH直接登录的更多相关文章

  1. Linux 集群 和免秘钥登录的方法。

    /* 1.1.什么是集群? 很多台服务器(计算机)做相同的事,就称之为集群 服务器和服务器之间必须要处于联通状态(linux01和linux02可以相互访问并且传输数据) 服务器的配置和常见的计算机没 ...

  2. hadoop再次集群搭建(2)-配置免秘钥ssh登录

    SSH对于大多程序员都不陌生,目前主流的云服务提供上也是通过SSH来提供链接的安全保障,比如AWS通过使用下载的私钥(private key)实现与EC2实例安全连接.GitHub通过上传的公钥(pu ...

  3. 【原创】Linux服务器集群通过SSH无密码登录

    SSH 无密码授权访问slave集群机器 1. 安装SSH,所有集群机器,都要安装SSH环境介绍:  Master : CNT06BIG01 192.168.3.61 SLAVE 1: CNT06BI ...

  4. Linux SSH 免秘钥登录

    SSH 免秘钥登录 ssh:是一种安全加密协议 ssh  username@hostname     ssh gongziyuan.com:以当前用户登录该机器(如果不是当前用户,需要这么干:ssh ...

  5. Linux之间配置免秘钥访问

    环境说明 [root@localhost1 ~]# cat /etc/redhat-release CentOS release 6.5 (Final) [root@localhost1 ~]# un ...

  6. linux普通用户免秘钥登录(xshell工具环境)

    一.xshell生成密钥 1)工具->新建用户密钥生成向导 2)选择密钥类型.密钥长度(默认即可) 3)生成密钥(生成公钥和私钥) 4)为密钥加密,增加密码(可选),建议加上 5)将公钥保存为文 ...

  7. linux下ssh免秘钥登录

    1.检查防火墙是否关闭 (1)切换到root用户 (2)查看防火墙状态 service iptables status 这是没有关闭 (3)设置关闭 service iptables stop 2.检 ...

  8. ssh免秘钥登陆实现

    1.用处 搭建集群或者工作中登陆跳板机经常需要做免秘钥互相登陆彼此服务器. 2. 准备工作   假设A主机10.20.0.1想通过ssh登录到B主机10.20.0.2上.   那么客户端(A主机)需要 ...

  9. 大数据之Linux服务器集群搭建

    之前写过一篇关于Linux服务器系统的安装与网关的配置,那么现在我们要进一步的搭建多台Linux服务器集群. 关于单台服务器的系统搭建配置就不在赘述了,详情见https://www.cnblogs.c ...

随机推荐

  1. 使用系统存储过程来监控SQLServer进程和会话具体解释

     承接上文,本文讲述怎样使用系统存储过程来监控系统. SQLServer相同也提供了一系列系统存储过程用于监控SQLServer,获取当前进程.会话.请求以及锁定的具体信息.本文将演示系统存储过程 ...

  2. Raphael.js image 在ie8以下的兼容性问题

    Raphael.js 在ie7,ie8浏览器内绘制图形採用的vml,在绘制image的时候会解析成 <?xml:namespace prefix = "rvml" ns = ...

  3. iOS常用的宏定义总结

    字符串是否为空 1   #define kStringIsEmpty(str) ([str isKindOfClass:[NSNull class]] || str == nil || [str le ...

  4. “2014年ArcGIS影像高级培训班——5月份北京站”火热报名中!

    您从事遥感类的相关工作吗?您正对着一景景影像数据不知从何下手吗?您有TB级甚至更高量级的影像数据须要有效管理.即时分享吗?您须要构建Web端的应用实现影像实时处理.在线分析吗? 您是否已经找到有效的解 ...

  5. 理解和解决requireJS的报错:MODULE NAME HAS NOT BEEN LOADED YET FOR CONTEXT

    使用requireJS载入模块的时候.有时候会碰到例如以下的错误: Uncaught Error: Module name "module1" has not been loade ...

  6. CoffeeScript的缩进

    CoffeeScript用缩进代替了花括符"{}",作用范围的划分只靠缩进.这带来代码精简.简洁的同时,有时候也让人困惑. 比如说: if 3 > 1 alert(" ...

  7. Linux下的ssh实验环境搭建与管理

    实验环境[size=10.5000pt]1:网桥模式[size=10.5000pt]2:安装好vmtoos[size=10.5000pt]3:安装好yum[size=10.5000pt]4:安装好ss ...

  8. MySQL 1071错误解决办法

    今天在使用mysql时,又遇到了如博文标题所示的问题,以前针对该问题未进行记录,今天特意进行说明存档.         该问题是由键值字段长度过长导致.mysql支持数据库表单一键值的最大长度不能超过 ...

  9. Vue.prototype的用法

    基础事例: 在vue项目main.js文件中: Vue.prototype.$appName = 'My App' 这样你可以通过在原型上定义它们使其在每个 Vue 的实例中可用. new Vue({ ...

  10. Weblogic 启动慢解决方法

      添加 启动参数  :      -Xms256m -Xmx512m -XX:MaxPermSize=256m 原因 : 实际是JVM在Linux下的bug:他想调用一个随机函数,但是取不到. 暂时 ...