linux中集群的免秘钥SSH直接登录

这里以三台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 [email protected]
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,将公钥拷贝到manageauthorized_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 [email protected]

ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]

ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]

ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]


猜你喜欢

转载自www.cnblogs.com/Crazy-Liu/p/10832574.html