![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISPrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdsATOfd3bkFGazxCMx8VesATMfhHLlN3XnxCMwEzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5SM1kTN5UTZ4AjZjFjNyEGOxYzX2ETM0UTM5AzLcFTMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjL1M3Lc9CX6MHc0RHaiojIsJye.png)
加群交流在背景回複“加群”,添加小編微信,小編拉你進去
背景回複“724”擷取入門資料
一、背景概述:
在linux系統中密碼的儲存是非常重要的,在企業中的WEB叢集環境中,進行統一的版本更新和配置檔案的同步免密登入是非常重要的。在自動化運維,統一管理都是離不開Linux的免密登入。
二、實驗環境:
角色 | 主機名 | IP位址 | 系統 |
伺服器 | sr-1 | 192.168.10.110 | CentOS 7.6 |
客戶機 | sr-2 | 192.168.10.120 | CentOS 7.6 |
三、準備工作(兩台都需要):
1.首先關閉Selinux,這裡有臨時關閉和永久關閉兩種方式
臨時方式:
getenforce
setenforce 0
永久方式:
vim /etc/sysconfig/selinux
然後将SELINUX=enforcing 改為 SELINUX=disabled
重新開機服務:
reboot
2.關閉防火牆(兩台都需要):
systemctl stop firewalld
3.修改兩個系統的主機名:
一個修改為sr-1 :
另一個修改為sr-2 :
然後立即生效:
bash
4.配置 hosts 檔案(兩台機器都執行,完成後儲存退出):
vim /etc/hosts
四、實作免密登陸
未配置公私鑰對時,客戶機 A 通過 SSH 登陸時,登陸提示需要密碼。
1.生成密鑰
為了免密,一路回車,生成 SSH 要用的公私鑰對,此步驟在客戶機 執行。根據提示,生成出來的公私鑰檔案位于 ~/.ssh 目錄下,其中 id_rsa 為私鑰, id_rsa.pub 為公鑰。
執行上面的指令時,我們直接按三次回車,之後會在使用者的根目錄下生成一個 .ssh 的檔案夾,我們進入該檔案夾下面并檢視有哪些内容。
我們看到有三個檔案,下面分别解釋下每個檔案是幹什麼用的。id_rsa: 生成的私鑰檔案id_rsa.pub: 生成的公鑰檔案known_hosts: 已知的主機公鑰清單
2、遠端密鑰登入
這裡介紹最常用的三種方式,一是通過 ssh-copy-id 指令,二是通過 scp 指令,三是手工複制。
方式一:
通過 ssh-copy-id 指令設定。最後一個參數是我們要免密鑰登入的伺服器 ip 位址。
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.10.110
方式二:
通過 scp 指令直接将該檔案遠端複制過去,使用這種方式需要注意,如果你之前已經配置了其它伺服器上的密鑰,這是使用這種方法,就會覆寫掉你原來的密鑰,這時候是不建議使用這種方式的,如果你是先将該檔案複制到伺服器上的一個目錄下,然後在使用追加的方式,将密鑰追加到 authorized_keys 也是完全 OK 的。如果你隻有兩台伺服器也是可以直接複制到檔案。
scp -p ~/.ssh/id_rsa.pub root@:/root/.ssh/authorized_keys
方式三:
通過手工複制。将本地 id_rsa.pub 檔案的内容拷貝至遠端伺服器的 ~/.ssh/authorized_keys 檔案中也完全可以的。先使用 cat 指令檢視目前的公鑰,然後複制,在到目标伺服器上去粘貼。
以上步驟,我們就完成了免密鑰登入,下面我們來進行驗證。
到此,我們的 ssh 免密鑰登入就大功告成。謝謝觀看,再見!
END
更多精彩盡在星球