天天看點

linux伺服器間ssh免密登入

linux伺服器間ssh免密登入

加群交流在背景回複“加群”,添加小編微信,小編拉你進去

背景回複“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

linux伺服器間ssh免密登入

永久方式:

​vim /etc/sysconfig/selinux​

然後将SELINUX=enforcing 改為 SELINUX=disabled

重新開機服務:

​reboot​

linux伺服器間ssh免密登入

2.關閉防火牆(兩台都需要):

​systemctl stop firewalld​

linux伺服器間ssh免密登入

3.修改兩個系統的主機名:

一個修改為sr-1 :

linux伺服器間ssh免密登入

另一個修改為sr-2 :

linux伺服器間ssh免密登入

然後立即生效:

​bash​

linux伺服器間ssh免密登入
linux伺服器間ssh免密登入

4.配置 hosts 檔案(兩台機器都執行,完成後儲存退出):

​vim /etc/hosts​

linux伺服器間ssh免密登入

四、實作免密登陸

未配置公私鑰對時,客戶機 A 通過 SSH 登陸時,登陸提示需要密碼。

linux伺服器間ssh免密登入

1.生成密鑰

為了免密,一路回車,生成 SSH 要用的公私鑰對,此步驟在客戶機 執行。根據提示,生成出來的公私鑰檔案位于 ~/.ssh 目錄下,其中 id_rsa 為私鑰, id_rsa.pub 為公鑰。

linux伺服器間ssh免密登入

執行上面的指令時,我們直接按三次回車,之後會在使用者的根目錄下生成一個 .ssh 的檔案夾,我們進入該檔案夾下面并檢視有哪些内容。

linux伺服器間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

linux伺服器間ssh免密登入

方式二:

通過 scp 指令直接将該檔案遠端複制過去,使用這種方式需要注意,如果你之前已經配置了其它伺服器上的密鑰,這是使用這種方法,就會覆寫掉你原來的密鑰,這時候是不建議使用這種方式的,如果你是先将該檔案複制到伺服器上的一個目錄下,然後在使用追加的方式,将密鑰追加到 authorized_keys 也是完全 OK 的。如果你隻有兩台伺服器也是可以直接複制到檔案。

scp -p ~/.ssh/id_rsa.pub root@:/root/.ssh/authorized_keys

linux伺服器間ssh免密登入

方式三:

通過手工複制。将本地 id_rsa.pub 檔案的内容拷貝至遠端伺服器的 ~/.ssh/authorized_keys 檔案中也完全可以的。先使用 cat 指令檢視目前的公鑰,然後複制,在到目标伺服器上去粘貼。

linux伺服器間ssh免密登入

以上步驟,我們就完成了免密鑰登入,下面我們來進行驗證。

linux伺服器間ssh免密登入
linux伺服器間ssh免密登入

到此,我們的 ssh 免密鑰登入就大功告成。謝謝觀看,再見!

END

更多精彩盡在星球      

繼續閱讀