主頁 > 知識庫 > Linux集群內SSH免密碼訪問的快速配置方法

Linux集群內SSH免密碼訪問的快速配置方法

熱門標簽:太原地圖標注推廣員 河南營銷智能外呼系統價格多少 電銷機器人賺錢思路 河南400電話如何辦理 寧波電信400電話辦理 疏附縣地圖標注 怎么坐地圖標注 中山ai電銷機器人招商 地圖標注行業(yè)發(fā)展如何

日常無論測試環(huán)境還是生產環(huán)境,在進行多臺服務器(集群)安裝配置的時候,經常需要對集群內服務器SSH訪問做免密碼設置。比如Hadoop、HBase等集群的安裝配置,或者多臺服務器為便于后續(xù)運維也需要做SSH免密配置。

結合近期搭建測試環(huán)境的過程,對如何快速給多臺服務器做相互SSH訪問免密配置做一個說明。主要分為幾個步驟:修改主機名稱、配置匯聚服務器的秘鑰、匯聚其他服務器秘鑰、拷貝匯聚秘鑰文件、生成know_hosts文件、拷貝know_hosts文件。
 

1、集群規(guī)劃

主機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區(qū)2臺,INSIDE區(qū)16臺。主要用于web服務器和應用服務器、數據庫、緩存等。為了部署應用、管理集群服務器方便,將18臺服務器做SSH互訪免密碼配置。
 

2、修改主機名稱

無論初裝系統或云主機,其主機名稱“localhost”或“VM_75_173_centos”都不容易進行區(qū)分服務器作用。所以便于安裝、部署、維護方便,會重新修改主機名稱hostname。
修改主機名稱可以使用下面命令:

hostnamectl set-hostname inside01

使用上述命令修改主機名稱后重新ssh登陸,即可看到主機名稱已經修改。

3、配置匯聚服務器秘鑰

此處所謂匯聚服務器就是選定集群中的一臺服務器,然后其他服務器與其做SSH免密碼信任。本文選定dmz01(10.141.93.101)作為匯聚服務器。關系圖如下所示:

其他服務器向dmz01做SSH登陸免密碼信任配置。此處dmz01就是匯聚服務器。

配置匯聚服務器秘鑰的命令如下所示:

[root@dmz01 ~]# 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”文件,使用命令如下:

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節(jié)配置匯聚服務器秘鑰后,需要依次配置dmz02,inside01,…,inside16等17臺服務器的秘鑰。方法同第三節(jié)命令。
配置完成其他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”目錄下面,命令如下所示:

[root@dmz01 .ssh]# scp authorized_keys dmz02:/root/.ssh/
[root@dmz01 .ssh]# scp authorized_keys inside01:/root/.ssh/

[root@dmz01 .ssh]# scp authorized_keys inside16:/root/.ssh/
root@inside16's password:
authorized_keys 100% 7104 6.9KB/s 00:00

如上所示進行scp拷貝秘鑰文件“authorized_keys”,該過程需要輸入密碼。
Ssh免密碼驗證:

[root@dmz01 .ssh]# ssh dmz02
The authenticity of host 'dmz02 (10.141.68.179)' can't be established.
ECDSA key fingerprint is 22:49:b2:5c:7c:8f:73:56:89:29:8a:bd:56:49:74:66.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'dmz02,10.141.68.179' (ECDSA) to the list of known hosts.
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文件行數:

[root@dmz01 .ssh]# wc -l known_hosts
18 known_hosts

可以看出每個主機一行內容,表示dmz01知道了包括自己在內的所有18臺服務器。
 

7、拷貝know_hosts文件

經過第六節(jié)生成18臺服務器對dmz01的know host設置,將dmz01的/root/.ssh/know_hosts文件scp拷貝到其他17臺服務器上。
ssh免密碼登陸驗證:

[root@dmz01 .ssh]# ssh inside10
Last login: Tue Nov 15 15:01:18 2016 from 10.141.93.186
[root@inside10 ~]# ssh inside15
Last login: Sat Nov 12 17:52:29 2016 from 10.141.93.186
[root@inside15 ~]# ssh dmz02
Last login: Sat Nov 12 20:05:59 2016 from 10.141.93.186
[root@dmz02 ~]# ssh dmz01
Last login: Thu Nov 17 23:56:05 2016 from 218.10.89.246
[root@dmz01 ~]# ssh inside15
Last login: Fri Nov 18 00:23:54 2016 from 10.141.114.152

ssh免密碼登陸順序:dmz01àinside10àinside15àdmz02àdmz01àinside15。
 

8、總結

本文主要涉及以下幾個命令:

hostnamectl set-hostname inside01
ssh-keygen -t rsa
ssh-copy-id -i dmz01

這篇文章就介紹到這了,希望大家以后多多支持腳本之家。

標簽:樂山 榆林 河池 山南 河北 滄州 淘寶邀評 保定

巨人網絡通訊聲明:本文標題《Linux集群內SSH免密碼訪問的快速配置方法》,本文關鍵詞  Linux,集群,內,SSH,免,密碼,;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Linux集群內SSH免密碼訪問的快速配置方法》相關的同類信息!
  • 本頁收集關于Linux集群內SSH免密碼訪問的快速配置方法的相關信息資訊供網民參考!
  • 推薦文章