溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何在Linux集群中配置SSH免密碼訪問(wèn)

發(fā)布時(shí)間:2021-05-18 16:19:26 來(lái)源:億速云 閱讀:178 作者:Leah 欄目:系統(tǒng)運(yùn)維

本篇文章為大家展示了如何在Linux集群中配置SSH免密碼訪問(wèn),內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

1、集群規(guī)劃

主機(jī)IP

主機(jī)名稱

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臺(tái)服務(wù)器,劃分為DMZ區(qū)2臺(tái),INSIDE區(qū)16臺(tái)。主要用于web服務(wù)器和應(yīng)用服務(wù)器、數(shù)據(jù)庫(kù)、緩存等。為了部署應(yīng)用、管理集群服務(wù)器方便,將18臺(tái)服務(wù)器做SSH互訪免密碼配置。
 

2、修改主機(jī)名稱

無(wú)論初裝系統(tǒng)或云主機(jī),其主機(jī)名稱“l(fā)ocalhost”或“VM_75_173_centos”都不容易進(jìn)行區(qū)分服務(wù)器作用。所以便于安裝、部署、維護(hù)方便,會(huì)重新修改主機(jī)名稱hostname。
修改主機(jī)名稱可以使用下面命令:

hostnamectl set-hostname inside01

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

3、配置匯聚服務(wù)器秘鑰

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

如何在Linux集群中配置SSH免密碼訪問(wèn)

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

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

[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 ..        |

|    . ..          |

|   ....           |

+------------------+

進(jìn)入“/root/.ssh”目錄,拷貝生成“authorized_keys”文件,使用命令如下:

cat id_rsa.pub >> authorized_keys

結(jié)果如下所示:

[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、拷貝其他服務(wù)器秘鑰

經(jīng)過(guò)第3節(jié)配置匯聚服務(wù)器秘鑰后,需要依次配置dmz02,inside01,…,inside16等17臺(tái)服務(wù)器的秘鑰。方法同第三節(jié)命令。
配置完成其他17臺(tái)服務(wù)器的秘鑰后,需要將該17臺(tái)服務(wù)器的秘鑰復(fù)制拷貝到匯聚服務(wù)器dmz01上。其拷貝命令如下:

[root@dmz01 .ssh]# ssh-copy-id -i dmz01
[root@inside01 .ssh]# ssh-copy-id -i dmz01

依次將17臺(tái)的秘鑰匯聚拷貝到dmz01上。

5、拷貝匯聚秘鑰文件

從匯聚服務(wù)器將匯聚的秘鑰文件依次拷貝到其他17臺(tái)服務(wù)器的“/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

如上所示進(jìn)行scp拷貝秘鑰文件“authorized_keys”,該過(guò)程需要輸入密碼。
Ssh免密碼驗(yàn)證:

[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服務(wù)器時(shí),沒(méi)有再需要輸入密碼。但是提示需要將dmz02添加到dmz01的“know hosts”列表文件中。這樣下次ssh訪問(wèn)dmz02就不會(huì)再提示需要加入know hosts列表了。
 

6、生成know_hosts文件

從匯聚服務(wù)器依次ssh其他17臺(tái)服務(wù)器,經(jīng)過(guò)前面的免密碼設(shè)置。不需要再輸入密碼,但是都有加入know hosts列表的提示。
注意:為了把自己dmz01也加入到know hosts文件中,也需要“[root@dmz01.ssh]# ssh dmz01”一下。

最后生成的know_hosts文件內(nèi)容如下所示:

如何在Linux集群中配置SSH免密碼訪問(wèn)

查看know_hosts文件行數(shù):

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

可以看出每個(gè)主機(jī)一行內(nèi)容,表示dmz01知道了包括自己在內(nèi)的所有18臺(tái)服務(wù)器。
 

7、拷貝know_hosts文件

經(jīng)過(guò)第六節(jié)生成18臺(tái)服務(wù)器對(duì)dmz01的know host設(shè)置,將dmz01的/root/.ssh/know_hosts文件scp拷貝到其他17臺(tái)服務(wù)器上。
ssh免密碼登陸驗(yàn)證:

[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。
 

什么是Linux系統(tǒng)

Linux是一種免費(fèi)使用和自由傳播的類UNIX操作系統(tǒng),是一個(gè)基于POSIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng),使用Linux能運(yùn)行主要的Unix工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。

上述內(nèi)容就是如何在Linux集群中配置SSH免密碼訪問(wèn),你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI