linux 互信配置
公鑰認證的基本思想:
對信息的加密和解密采用不同的key,這對key分別稱作private key和public key,其中,public key存放在欲登錄的服務器上,而private key為特定的客戶機所持有。當客戶機向服務器發出建立安全連接的請求時,首先發送自己的public key,如果這個public key是被服務器所允許的,服務器就發送一個經過public key加密的隨機數據給客戶機,這個數據只能通過private key解密,客戶機將解密后的信息發還給服務器,服務器驗證正確后即確認客戶機是可信任的,從而建立起一條安全的信息通道。通過這種方式,客戶機不需要向外發送自己的身份標志“private key”即可達到校驗的目的,并且private key是不能通過public key反向推斷出來的。這避免了網絡竊聽可能造成的密碼泄露。客戶機需要小心的保存自己的private key,以免被其他人竊取,一旦這樣的事情發生,就需要各服務器更換受信的public key列表。
?
?
?
配置ssh互信的步驟如下:
????1.?首先,在要配置互信的機器上,生成各自的經過認證的key文件;
????2.?其次,將所有的key文件匯總到一個總的認證文件中;
????3.?將這個包含了所有互信機器認證key的認證文件,分發到各個機器中去;
????4.?驗證互信。
?
在主機名為dscn1,dscn2,dscn3上以相同的用戶hadmin創建ssh互信。
?
1)?生成公鑰
$> ssh-keygen –t rsa
???????? 遇到提示均回車確定
???????? 出現類似該圖的輸出時,公鑰生成成功
???????? $> ssh dscn2
???????? 以主機名dscn2為例,遠程登陸至集群中另一節點,重復上述步驟生成公鑰
???????? $> exit????? 退出遠程登陸
?
???????? 重復執行至所有節點成功生成公鑰
2) 生成私鑰
???????? 以下操作都在同一節點中執行(以dscn1為例)
???????? $> cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys?????? 將dscn2的公鑰放入dscn1的私鑰中
???????? $> chmod 600 ~/.ssh/authorized_keys??????????????????????????????? 改變其權限
????????
???????? $> ssh dscn2?cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
???????? 以主機名dscn2為例,將dscn2的公鑰放入dscn1的私鑰中
????????
???????? 重復執行,將所有節點的公鑰都添加至dscn1的私鑰中
?
3) 復制私鑰及known_hosts文件
???????? 以下操作都在同一節點中執行(以dscn1為例)
$>ssh dscn1
???????? 將本機也加入到known_hosts文件中
$> scp ~/.ssh/authorized_keys dscn2:~/.ssh/authorized_keys
$> scp ~/.ssh/known_hosts dscn2:~/.ssh/known_hosts
???????? 將dscn1的私鑰及known_hosts文件拷貝至節點dscn2
???????? 重復執行,將dscn2的私鑰及known_hosts文件拷貝至其他所有節點
4) 重啟服務并驗證
前面三個步驟在root和hadmin都執行過一次之后,此步驟只需要在root用戶下執行一次
???????? $> systemctl restart sshd.service
???????? $> ssh dscn2?service sshd restart
???????? 所有節點的sshd均需要重啟
????????
???????? 嘗試:
$> ssh dscn2
無密碼即可直接登錄,則配置成功
轉載于:https://my.oschina.net/u/2499632/blog/833460
總結
以上是生活随笔為你收集整理的linux 互信配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Nudge 助推 下载 及 感想
- 下一篇: Linux通过主机名免密码建立互信