linux和哪些主机配了互信,linux主机互信
linux配置ssh互信
什么叫linux主機互信:
Linux主機互信,就是主機之間相互信任,什么是信任,就像人與人之間一樣,不需要利用金錢等(除了你自己以外其他的東西)來取得對方的信任,大家相互信任對方,不需要額外的憑證。就好比你,你爸,你媽,你姐之間,不需要錢來維持你們之間的信任。同樣,linux主機之間也是,我們從一臺主機登陸到另一臺時,往往需要驗證你,需要你輸入用戶密碼,才允許你登陸。這樣在多臺機器之間來回切換登陸就會頻繁輸入密碼,非常麻煩,看看,一切的根源來自于互不信任。可不可以不用輸入密碼就直接登陸呢?答案是可以,但條件是主機之間相互信任對方。
因此ssh互信就誕生了。我們在主機值之間配置了公鑰認證后,也就是取得信任之后,就不必再輸入密碼了(當然實際上是ssh使用rsa算法幫你完成了驗證過程)。
公鑰認證的基本思想:
對信息的加密和解密采用不同的key,這對key分別稱作private key和publickey,其中,public key存放在欲登錄的服務器上,而privatekey為特定的客戶機所持有。當客戶機向服務器發出建立安全連接的請求時,首先發送自己的public key,如果這個public key是被服務器所允許的,服務器就發送一個經過public key加密的隨機數據給客戶機,這個數據只能通過private key解密,客戶機將解密后的信息發還給服務器,服務器驗證正確后即確認客戶機是可信任的,從而建立起一條安全的信息通道。通過這種方式,客戶機不需要向外發送自己的身份標志“private key”即可達到校驗的目的,并且private key是不能通過public key反向推斷出來的。這避免了網絡竊聽可能造成的密碼泄露。客戶機需要小心的保存自己的private key,以免被其他人竊取,一旦這樣的事情發生,就需要各服務器更換受信的publickey列表。
使用過github的用戶就會知道,用git登陸遠程倉庫github的時候,也會有公鑰認證(當然是首次使用git時),首次使用git,就會要求你在客戶端生成一個rsa key pairs,一個public-key存放于id_rsa.pub,一個private-key存放于id_rsa,并且上傳你的公鑰public-key到github上,這樣做的目的就是你可以取得github的信任,也就是github信任你,下次你登錄的時候,github會使用你上傳的公鑰來驗證你的身份,從而不用輸入密碼。當然這個過程只是單向的信任,也就是github現在信任你,但是你并沒有建立對github的信任,需要建立么,其實沒有必要,因為github是不會主動向你發出請求的,大多數情況是你需要主動向github發送請求。
知道了單向信任,那么相互信任就簡單了,就是主機之間的公鑰都要告知對方,這樣才能相互信任,你信任我,我信任你。那么,以下就是互信建立的步驟了:
配置ssh互信的步驟如下:
1.?首先,在要配置互信的機器上,生成各自的經過認證的key文件;
2.?其次,將所有的key文件匯總到一個總的認證文件中;
3.?將這個包含了所有互信機器認證key的認證文件,分發到各個機器中去;
4.?驗證互信。
在主機名為node1,node2,node3上以相同的用戶test創建ssh互信。
1.在每個節點上創建RSA密鑰和公鑰
使用test用戶登陸
mkdir~/.ssh
chmod700 ~/.ssh
cd~/.ssh
ssh-keygen-t rsa
2.整合公鑰文件
在node1上執行以下命令
sshnode1 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
sshnode2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
sshnode3 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod600 ~/.ssh/authorized_keys
3.分發整合后的公鑰文件
在node1上執行以下命令
scp~/.ssh/authorized_keysnode2:~/.ssh/
scp~/.ssh/authorized_keysnode3:~/.ssh/
4.測試ssh互信
在各個節點上運行以下命令,若不需要輸入密碼就顯示系統當前日期,就說明SSH互信已經配置成功了。
sshnode1 date
sshnode2 date
sshnode3 date
一下是我的實驗
[ocdc@HBBDC-Interface-1 .ssh]$ ssh-keygen-t rsa
Generating public/private rsa key pair.
Enter file in which to save the key(/home/ocdc/.ssh/id_rsa):
/home/ocdc/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in/home/ocdc/.ssh/id_rsa.
Your public key has been saved in/home/ocdc/.ssh/id_rsa.pub.
The key fingerprint is:
b3:e7:19:4b:e1:59:0d:b5:4d:ba:04:89:81:9d:37:01ocdc@HBBDC-Interface-1
The key's randomart image is:
+---[RSA 2048]----+
|????????oE=oo. .|
|???????. + +o = |
|??????????...+ .|
|???????????? + . |
|???????S . . o? |
|????????+ +???? |
|???????. *????? |
|????????+ +???? |
|?????????+????? |
+-----------------+
然后在各個需要互信的接口機上重復以上步驟生成認證文件
回到接口機1,
[ocdc@HBBDC-Interface-1 .ssh]$ ssh10.31.100.21 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ocdc@10.31.100.21's password:
[ocdc@HBBDC-Interface-1 .ssh]$ ssh10.31.100.22 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ocdc@10.31.100.22's password:
[ocdc@HBBDC-Interface-1 .ssh]$ ssh10.31.100.23 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ocdc@10.31.100.23's password:
[ocdc@HBBDC-Interface-1 .ssh]$ ssh10.31.100.24 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ocdc@10.31.100.24's password:
[ocdc@HBBDC-Interface-1 .ssh]$ catauthorized_keys
可以看到所有主機的公鑰都存在了authorized_keys中。接下來就是分發這個整合后的證書了。
[ocdc@HBBDC-Interface-1 .ssh]$ scp~/.ssh/authorized_keys 10.31.100.21:~/.ssh/
ocdc@10.31.100.21's password:
authorized_keys??????????????????????????????????????????????????????????????????????????????????100% 3219???? 3.1KB/s?? 00:00
[ocdc@HBBDC-Interface-1 .ssh]$ scp~/.ssh/authorized_keys 10.31.100.22:~/.ssh/
ocdc@10.31.100.22's password:
authorized_keys??????????????????????????????????????????????????????????????????????????????????100% 3219???? 3.1KB/s?? 00:00
[ocdc@HBBDC-Interface-1 .ssh]$ scp~/.ssh/authorized_keys 10.31.100.23:~/.ssh/
ocdc@10.31.100.23's password:
authorized_keys??????????????????????????????????????????????????????????????????????????????????100% 3219???? 3.1KB/s?? 00:00
[ocdc@HBBDC-Interface-1 .ssh]$ scp~/.ssh/authorized_keys 10.31.100.24:~/.ssh/
ocdc@10.31.100.24's password:
authorized_keys??????????????????????????????????????????????????????????????????????????????????100% 3219???? 3.1KB/s?? 00:00
任務完成,驗證是否成功
[ocdc@HBBDC-Interface-1 .ssh]$ ssh10.31.100.21 date
Wed May 27 20:39:39 CST 2015
[ocdc@HBBDC-Interface-1 .ssh]$ ssh10.31.100.22 date
Wed May 27 20:39:45 CST 2015
[ocdc@HBBDC-Interface-1 .ssh]$ ssh10.31.100.23 date
Wed May 27 20:39:51 CST 2015
[ocdc@HBBDC-Interface-1 .ssh]$ ssh10.31.100.24 date
Wed May 27 20:39:55 CST 2015
總結
以上是生活随笔為你收集整理的linux和哪些主机配了互信,linux主机互信的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux关闭本地登录密码登录密码错误,
- 下一篇: linux运维安全方案,LINUX 安全