设为首页收藏本站
天天打卡

 找回密码
 立即注册
搜索
查看: 89|回复: 11

Linux集群内SSH免密码访问的快速配置方法

[复制链接]
  • 打卡等级:无名新人
  • 打卡总天数:1
  • 打卡月天数:0
  • 打卡总奖励:30
  • 最近打卡:2024-04-20 07:41:19

2

主题

47

回帖

186

积分

等待验证会员

积分
186
发表于 2024-4-20 10:31:08 | 显示全部楼层 |阅读模式

日常无论测试环境还是生产环境,在进行多台服务器(集群)安装配置的时候,经常需要对集群内服务器SSH访问做免密码设置。比如Hadoop、HBase等集群的安装配置,或者多台服务器为便于后续运维也需要做SSH免密配置。
结合近期搭建测试环境的过程,对如何快速给多台服务器做相互SSH访问免密配置做一个说明。主要分为几个步骤:修改主机名称、配置汇聚服务器的秘钥、汇聚其他服务器秘钥、拷贝汇聚秘钥文件、生成know_hosts文件、拷贝know_hosts文件。

1、集群规划
            主机IP
            
            主机名称
            
            10.141.93.101
            
            dmz01
            
            10.141.93.102
            
            dmz02
            
            10.141.93.103
            
            inside01
            
            10.141.93.104
            
            inside02
            
            10.141.93.105
            
            inside03
            
            10.141.93.106
            
            inside04
            
            10.141.93.107
            
            inside05
            
            10.141.93.108
            
            inside06
            
            10.141.93.109
            
            inside07
            
            10.141.93.110
            
            inside08
            
            10.141.93.111
            
            inside09
            
            10.141.93.112
            
            inside10
            
            10.141.93.113
            
            inside11
            
            10.141.93.114
            
            inside12
            
            10.141.93.115
            
            inside13
            
            10.141.93.116
            
            inside14
            
            10.141.93.117
            
            inside15
            
            10.141.93.118
            
            inside16
            

该集群共有18台服务器,划分为DMZ区2台,INSIDE区16台。主要用于web服务器和应用服务器、数据库、缓存等。为了部署应用、管理集群服务器方便,将18台服务器做SSH互访免密码配置。

2、修改主机名称
无论初装系统或云主机,其主机名称“localhost”或“VM_75_173_centos”都不容易进行区分服务器作用。所以便于安装、部署、维护方便,会重新修改主机名称hostname。
修改主机名称可以使用下面命令:
  1. hostnamectl set-hostname inside01
复制代码
使用上述命令修改主机名称后重新ssh登陆,即可看到主机名称已经修改。
3、配置汇聚服务器秘钥
此处所谓汇聚服务器就是选定集群中的一台服务器,然后其他服务器与其做SSH免密码信任。本文选定dmz01(10.141.93.101)作为汇聚服务器。关系图如下所示:

其他服务器向dmz01做SSH登陆免密码信任配置。此处dmz01就是汇聚服务器。
配置汇聚服务器秘钥的命令如下所示:
[root@dmz01 ~]#
  1. ssh-keygen -t rsa
复制代码
Generating public/private rsa key pair.
Enter file in which to save the key  (/root/.ssh/id_rsa): [Enter键]
Enter passphrase (empty for no  passphrase): [Enter键]
Enter same passphrase again: [Enter键]
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:
43:0d:08:18:ec:9e:d6:1f:ea:5f:04:30:0f:66:26:41  root@dmz01
The key's randomart image is:
+--[  RSA 2048]----+
|  oE+O. ..        |
|  o= =.   o       |
|  .    o . .      |
|  .     o         |
|  . o    S        |
|  + . .. .        |
|  .   o ..        |
|    . ..          |
|   ....           |
+------------------+
进入“/root/.ssh”目录,拷贝生成“authorized_keys”文件,使用命令如下:
  1. cat id_rsa.pub >> authorized_keys
复制代码
结果如下所示:
[root@inside01 .ssh]# ll
total 12
-rw-r--r-- 1 root root 395 Nov 12 16:25 authorized_keys
-rw------- 1 root root 1675 Nov 12 16:24 id_rsa
-rw-r--r-- 1 root root 395 Nov 12 16:24 id_rsa.pub
4、拷贝其他服务器秘钥
经过第3节配置汇聚服务器秘钥后,需要依次配置dmz02,inside01,…,inside16等17台服务器的秘钥。方法同第三节命令。
配置完成其他17台服务器的秘钥后,需要将该17台服务器的秘钥复制拷贝到汇聚服务器dmz01上。其拷贝命令如下:
[root@dmz01 .ssh]# ssh-copy-id -i dmz01
[root@inside01 .ssh]# ssh-copy-id -i dmz01
依次将17台的秘钥汇聚拷贝到dmz01上。
5、拷贝汇聚秘钥文件
从汇聚服务器将汇聚的秘钥文件依次拷贝到其他17台服务器的“/root/.ssh”目录下面,命令如下所示:
  1. [root@dmz01 .ssh]# scp authorized_keys dmz02:/root/.ssh/
  2. [root@dmz01 .ssh]# scp authorized_keys inside01:/root/.ssh/

  3. [root@dmz01 .ssh]# scp authorized_keys inside16:/root/.ssh/
  4. root@inside16's password:
  5. authorized_keys 100% 7104 6.9KB/s 00:00
复制代码
如上所示进行scp拷贝秘钥文件“authorized_keys”,该过程需要输入密码。
Ssh免密码验证:
  1. [root@dmz01 .ssh]# ssh dmz02
  2. The authenticity of host 'dmz02 (10.141.68.179)' can't be established.
  3. ECDSA key fingerprint is 22:49:b2:5c:7c:8f:73:56:89:29:8a:bd:56:49:74:66.
  4. Are you sure you want to continue connecting (yes/no)? yes
  5. Warning: Permanently added 'dmz02,10.141.68.179' (ECDSA) to the list of known hosts.
  6. Last login: Sat Nov 12 17:19:19 2016 from 10.141.93.186
复制代码
由上面可以看出“ssh dmz02”,ssh登陆dmz02服务器时,没有再需要输入密码。但是提示需要将dmz02添加到dmz01的“know hosts”列表文件中。这样下次ssh访问dmz02就不会再提示需要加入know hosts列表了。

6、生成know_hosts文件
从汇聚服务器依次ssh其他17台服务器,经过前面的免密码设置。不需要再输入密码,但是都有加入know hosts列表的提示。
注意:为了把自己dmz01也加入到know hosts文件中,也需要“[root@dmz01.ssh]# ssh dmz01”一下。
最后生成的know_hosts文件内容如下所示:

查看know_hosts文件行数:
  1. [root@dmz01 .ssh]# wc -l known_hosts
  2. 18 known_hosts
复制代码
可以看出每个主机一行内容,表示dmz01知道了包括自己在内的所有18台服务器。

7、拷贝know_hosts文件
经过第六节生成18台服务器对dmz01的know host设置,将dmz01的/root/.ssh/know_hosts文件scp拷贝到其他17台服务器上。
ssh免密码登陆验证:
  1. [root@dmz01 .ssh]# ssh inside10
  2. Last login: Tue Nov 15 15:01:18 2016 from 10.141.93.186
  3. [root@inside10 ~]# ssh inside15
  4. Last login: Sat Nov 12 17:52:29 2016 from 10.141.93.186
  5. [root@inside15 ~]# ssh dmz02
  6. Last login: Sat Nov 12 20:05:59 2016 from 10.141.93.186
  7. [root@dmz02 ~]# ssh dmz01
  8. Last login: Thu Nov 17 23:56:05 2016 from 218.10.89.246
  9. [root@dmz01 ~]# ssh inside15
  10. Last login: Fri Nov 18 00:23:54 2016 from 10.141.114.152
复制代码
ssh免密码登陆顺序:dmz01àinside10àinside15àdmz02àdmz01àinside15。

8、总结
本文主要涉及以下几个命令:
  1. hostnamectl set-hostname inside01
  2. ssh-keygen -t rsa
  3. ssh-copy-id -i dmz01
复制代码
这篇文章就介绍到这了,希望大家以后多多支持脚本之家。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

0

主题

48

回帖

95

积分

注册会员

积分
95
发表于 2024-4-24 14:01:03 | 显示全部楼层
6666666666

1

主题

50

回帖

122

积分

注册会员

积分
122
发表于 2024-5-17 15:23:42 | 显示全部楼层
让我们一起努力

1

主题

35

回帖

93

积分

注册会员

积分
93
发表于 2024-6-10 17:41:59 | 显示全部楼层
确实牛逼

3

主题

46

回帖

158

积分

注册会员

积分
158
发表于 2024-7-14 08:28:33 | 显示全部楼层
太棒了!感谢分享这个信息!

0

主题

41

回帖

80

积分

注册会员

积分
80
发表于 2024-7-20 19:05:34 | 显示全部楼层
谢谢你的提醒,我会注意的。

1

主题

4

回帖

32

积分

新手上路

积分
32
发表于 2024-7-25 07:57:01 | 显示全部楼层
谢谢你分享这个信息
  • 打卡等级:偶尔看看
  • 打卡总天数:10
  • 打卡月天数:0
  • 打卡总奖励:180
  • 最近打卡:2024-06-20 09:02:38

9

主题

80

回帖

605

积分

高级会员

积分
605

推广达人宣传达人热心会员付费会员

发表于 2024-9-1 00:29:02 | 显示全部楼层
非常感谢你的观点,让我受益良多!

2

主题

49

回帖

143

积分

注册会员

积分
143
发表于 2024-9-18 13:37:19 | 显示全部楼层
666666666666

0

主题

52

回帖

107

积分

注册会员

积分
107

热心会员付费会员

发表于 2024-9-19 00:42:46 | 显示全部楼层
友善的讨论氛围是非常重要的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|爱云论坛 - d.taiji888.cn - 技术学习 免费资源分享 ( 蜀ICP备2022010826号 )|天天打卡

GMT+8, 2024-11-15 11:39 , Processed in 0.276622 second(s), 28 queries .

Powered by i云网络 Licensed

© 2023-2028 正版授权

快速回复 返回顶部 返回列表